一些4.8.x版本的wordpress悄悄地决定我需要额外的图片到我已经上传到它的媒体库的每一个。而我绝对不是。
我已经阻止了以后在wp的媒体库中创建额外的图像,方法是将以下代码添加到我的 functions.php
:
// Prevent WordPress from generating additional image sizes
function shapeSpace_customize_image_sizes($sizes) {
unset($sizes['thumbnail']);
unset($sizes['medium']);
unset($sizes['medium_large']);
unset($sizes['large']);
return $sizes;
}
add_filter('intermediate_image_sizes_advanced', 'shapeSpace_customize_image_sizes');
add_filter('max_srcset_image_width', create_function('', 'return 1;'));
至少我希望我已经阻止了这个不必要的为我自己的功能。是吗?
现在我必须删除任何无用的图像,这也不是问题。
问题是从wp的mysql数据库中删除无用的元数据。我有大约700张图片,这就是为什么我不喜欢手动操作。
什么mysql查询可以帮助我通过几次点击来实现这一点?
我相信我必须批量编辑wp\u postmeta表的\u wp\u attachment\u metadata列,删除包含 -100x100.jpg
(或 -700x700.jpg
在我的特定表,或任何其他大小)的一部分。
以下是示例单元格的内容
a:5:
{s:5:"width";i:700;s:6:"height";i:700;s:4:"file";s:65:"IMAGE1.jpg";s:5:"sizes";a:2:
{s:29:"woocommerce_gallery_thumbnail";a:4:
{s:4:"file";s:73:"IMAGE1-100x100.jpg";s:5:"width";i:100;s:6:"height";i:100;s:9:"mime-type";s:10:"image/jpeg";}
s:18:"woocommerce_single";a:4:
{s:4:"file";s:73:"IMAGE1-700x700.jpg";s:5:"width";i:700;s:6:"height";i:700;s:9:"mime-type";s:10:"image/jpeg";}
}
s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}
}
}
我认为应该将\u wp\u attachment\u metadata列中的每个单元格从
{s:29:"woocommerce_gallery_thumbnail";a:4:
{s:4:"file";s:73:"IMAGE1-100x100.jpg";s:5:"width";i:100;s:6:"height";i:100;s:9:"mime-type";s:10:"image/jpeg";}
s:18:"woocommerce_single";a:4:
{s:4:"file";s:73:"IMAGE1-700x700.jpg";s:5:"width";i:700;s:6:"height";i:700;s:9:"mime-type";s:10:"image/jpeg";}
}
我可以只说 -100x100.jpg
或者 -700x700.jpg
在查询中?
最后,查询应该是什么样的?
ps:我知道只有woocommerce需要这些额外的图片。
pps:问题太大了。对此我很抱歉。
暂无答案!
目前还没有任何答案,快来回答吧!