一些4.8.x版本的WordPress默默地决定我需要为我已经上传到其媒体库的每个人提供额外的图像。虽然我绝对没有。
通过将以下代码添加到functions.php
,我阻止了以后在WP媒体库中创建其他图片:
// 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_postmeta 表的 _wp_attachment_metadata 列,删除包含-100x100.jpg
(或{{1}的字符串的任何部分在我的特定表格或任何其他大小的部分。
以下是样本单元格的内容
-700x700.jpg
我是否正确地认为我应该从 _wp_attachment_metadata 列中释放每个单元格
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:{}
}
}
我可以在查询中仅说明 {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
吗?
最后,查询应该是什么样的?
PS:我发现WooCommerce是唯一需要这些额外图像的人。
PPS:问题太大了。对不起,我很抱歉。