几个版本之前 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查询可以吗?如果是这样会是什么?
先感谢您。
试试这个:
"sizes".*."image_meta"
“查找内容: ”字段"sizes";a:0:{}s:10:"image_meta"
“替换为: ”字段本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句