几个版本之前,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查询是否可能?如果是这样,那会是什么?
谢谢。
答案 0 :(得分:-1)
尝试一下:
"sizes".*."image_meta"
放入“ 查找内容:”字段"sizes";a:0:{}s:10:"image_meta"
放入“ 替换为:”字段