Пару версий назад WOOCommerce начал генерировать дополнительные миниатюры изображений, в моем случае 100x100 и 700x700 ( 700x700 на самом деле является размером изображения по умолчанию для моей установки WordPress, поэтому у меня нет идеи сделать дополнительную копию ).
Чтобы предотвратить это, я добавил следующий код в functions.php
:
function shapeSpace_customize_image_sizes($sizes) {
unset($sizes['shop_catalog']);
unset($sizes['shop_single']);
unset($sizes['shop_thumbnail']);
unset($sizes['woocommerce_gallery_thumbnail']);
unset($sizes['woocommerce_single']);
unset($sizes['woocommerce_thumbnail']);
}
add_filter('intermediate_image_sizes_advanced', 'shapeSpace_customize_image_sizes');
add_filter('max_srcset_image_width', create_function('', 'return 1;'));
и WOOCommerce успешно останавливает спам на моем сервере.
Итак, теперь я хочу удалить все эти изображения -100x100 и -700x700, но я не могу этого сделать, так как они указаны в столбце _wp_attachment_metadata
таблицы wp_postmeta
.
Ссылка всегда находится между "sizes"
и "image_meta"
и выглядит как
"sizes";a:4:{s:18:"woocommerce_single";a:4:{s:4:"file";s:30:"IMAGE-700x700.jpg";s:5:"width";i:700;s:6:"height";i:700;s:9:"mime-type";s:10:"image/jpeg";}s:29:"woocommerce_gallery_thumbnail";a:4:{s:4:"file";s:30:"IMAGE-100x100.jpg";s:5:"width";i:100;s:6:"height";i:100;s:9:"mime-type";s:10:"image/jpeg";}s:11:"shop_single";a:4:{s:4:"file";s:30:"IMAGE-700x700.jpg";s:5:"width";i:700;s:6:"height";i:700;s:9:"mime-type";s:10:"image/jpeg";}s:14:"shop_thumbnail";a:4:{s:4:"file";s:30:"IMAGE-100x100.jpg";s:5:"width";i:100;s:6:"height";i:100;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta"
Очень большая строка, но читать ее не нужно, так как фактический шаблон просто
"sizes";a:4:{SOME_TEXT}s:10:"image_meta"
, где a:4
после "sizes"
соответствует количеству миниатюр.
Я хочу найти и заменить каждый
"sizes";a:4:{SOME_TEXT}s:10:"image_meta"
с
"sizes";a:0:{}s:10:"image_meta"
Я могу сделать это вручную, но не думаю, что это хорошая идея для ~ 1000 изображений.
Возможно ли это с запросом MySQL? Если так, что это будет?
Заранее спасибо.