这个问题我之前在怎么调整WordPress图片分辨率的帖子里小小的说过,今天详细说一下。
WordPress自带额外图片尺寸
去到你WordPress后台的媒体设置,这里你会发现有:
- 缩略图大小:150 x 150
- 中等大小:300 x 300
- 大尺寸:1024 x 1024
这就是WordPress除了你上传的图片以外,额外生成的”三种尺寸”。

WordPress 实际上不仅仅生成媒体设置里显示的那些额外尺寸,完整的列表如下:
- 缩略图 (Thumbnail):(基于媒体设置中定义的尺寸)
- 中等 (Medium):(基于媒体设置中定义的尺寸)
- 大 (Large):(基于媒体设置中定义的尺寸)
- 中等-大 (Medium Large):768px
- 中等-大 x2 (Medium-Large x2):1536px
- 大 x2 (Large x2):2048px
你以为这就完了?根据你网站使用的主题和插件,WordPress还会额外生成其他不同的图片尺寸。一张图片生成十几张额外的图片是有可能的,越多越会影响我们的网站加载速度。
怎么优化这些多余的图片?
一个简单的方法就是把你不想要的媒体尺寸调整成零。

其他生成的尺寸怎么办?添加下面的自定义代码到你网站上:
/* 去除多余尺寸图片 */
function jhchen_delete_additional_image($sizes) {
unset($sizes['thumbnail']);
unset($sizes['medium']);
unset($sizes['large']);
unset($sizes['medium_large']);
unset($sizes['1536x1536']);
unset($sizes['2048x2048']);
return $sizes;
}
add_action('intermediate_image_sizes_advanced', 'jhchen_delete_additional_image');
/* 防止创建缩放尺寸 */
add_filter('big_image_size_threshold', '__return_false');
同样的方法你也可以使用 Disable Media Sizes 插件来完成。

防止生成全部额外图片尺寸
如果你想要去除WordPress全部额外生成的图片尺寸,就保留你自己上传的一张图片。添加以下代码。
/* 禁止生成额外尺寸图片 */
add_filter( 'image_resize_dimensions', '__return_false' );
add_filter( 'intermediate_image_sizes_advanced', '__return_empty_array' );
如果关闭或改掉 WordPress 自动生成的那些图片尺寸,有些功能可能会受影响。所以在操作之前要好好检查一遍!