如何禁止WordPress上传图片时自动生成多份不同尺寸的副本?
禁止WordPress自动生成多尺寸图片的解决方案
后台媒体设置仅修改三个公开尺寸为0未生效的原因是:WordPress除了后台展示的缩略图、中号、大号三个可调尺寸外,还内置了中等大尺寸、大尺寸裁剪等隐藏默认尺寸,部分插件也会额外注册自定义图片尺寸,仅修改公开参数无法覆盖所有生成规则。
解决方法
- 方法1:添加代码一键禁用所有多余尺寸生成
将以下代码添加到当前主题的functions.php文件末尾,或自定义功能插件的代码文件中即可生效:
// 禁用所有中间尺寸图片生成 add_filter( 'intermediate_image_sizes_advanced', function( $sizes ) { return []; } ); // 禁用超大图片自动裁剪缩放功能 add_filter( 'big_image_size_threshold', '__return_false' ); // 禁用WordPress默认自动生成WebP格式副本规则 add_filter( 'wp_upload_image_mime_transforms', function( $transforms ) { unset( $transforms['image/jpeg'] ); unset( $transforms['image/png'] ); unset( $transforms['image/gif'] ); return $transforms; } );
如果后续需要保留某一个指定尺寸,只需要在返回的空数组中添加对应尺寸的配置即可。
- 方法2:插件可视化管理
如果不熟悉代码修改,可以搜索安装图片尺寸管理类WordPress插件,在插件设置界面取消所有不需要的图片尺寸勾选即可生效。
注意事项
- 以上配置仅对新上传的图片生效,此前已经上传生成的多尺寸副本,需要使用WordPress媒体清理类插件批量删除
- 如果安装了图片优化、CDN加速类插件,需要额外检查这类插件的配置,关闭其自动生成多尺寸图片、自动转换图片格式的相关开关,避免仍然生成多余副本
内容的提问来源于stack exchange,提问作者user17343857
相关产品推荐
相关产品推荐

