WordPress — Скрипт регенерации изображений из ssh

Как в WordPress сгенерировать заново большое количество изображений из под ssh доступа, быстро и безболезненно и без 500 ошибок? Легко и просто, возьмите данный сниппет(кусок кода) себе в папку с сайтом где лежит wp-load.php, например в regen.php, далее зайдите под ssh на сервер, и напишите команду:

php regen.php

Ожидайте выполнения скрипта, и все ваши картинки будут успешно пересозданы с указанными размерами.

<?php
require_once 'wp-load.php';
require ( ABSPATH . 'wp-admin/includes/image.php' );
$regen_IDS = $wpdb->get_results("SELECT ID FROM ".$wpdb->posts." WHERE post_type = 'attachment' ORDER by ID ASC");
foreach ($regen_IDS as $key => $value) {
	$fullsizepath = get_attached_file( $value->ID );
	if(strpos($fullsizepath, '.jpg') !== false || strpos($fullsizepath, '.JPG') !== false || strpos($fullsizepath, '.png') !== false
		|| strpos($fullsizepath, '.jpeg') !== false || strpos($fullsizepath, '.PNG') !== false) {
		if(file_exists($fullsizepath)) {
			$metadata = wp_generate_attachment_metadata(  $value->ID, $fullsizepath );
			wp_update_attachment_metadata( $value->ID, $metadata );
		}
		echo $fullsizepath.' resized '."\r\n";
	}
}

КолДваТриЧетыреОтлично! (1 оценок, средне: 5,00 из 5)
Loading...