上载图像的其他图像大小由创建wp_generate_attachment_metadata()
文件上载后。可用大小的数组填充为get_intermediate_image_sizes()
(缩略图、中、大+自定义大小),稍后用于创建图像。
上述两个函数都有过滤器,用于覆盖此任务期间WordPress可用的大小,intermediate_image_sizes_advanced
和intermediate_image_sizes
分别地通过挂接这些过滤器中的任何一个,您应该能够删除不需要的大小。我建议使用intermediate_image_sizes
因为它是在前面执行的,所以您只需过滤字符串数组(图像大小标识符)。
add_filter(\'intermediate_image_sizes\', \'wpse_101197_image_sizes\');
function wpse_101197_image_sizes($sizes) {
if (($key = array_search(\'size_1\', $sizes)) !== false) {
unset($sizes[$key]);
}
return $sizes;
}
然而,这并不是说当你处理插件中的上传时,只应用这个过滤器是关键,因为你最终会从WordPress全局删除图像大小。因此,在完成上传后,不要忘记删除过滤器。还要记住,WordPress希望每个图像都有不同的大小——如果找不到特定大小的图像,那么最终会得到最大的图像。