wordpress禁止生成缩略图,只保留原始上传图片的终极代码

从wordpress 5.3版本开始,可能是出于对不同分辨率屏幕的考虑,尤其是视网膜屏幕,wordpress对于文章或媒体库上传的图片,除了会自动生成后台媒体设置的缩略图尺寸外,还会自动生成多个其它不同尺寸的图片,这些额外生成的图片会占用大量的服务器空间,如果您不需要这些尺寸的图片,同时想节省服务器空间资源,可以通过代码禁止wordpress生成多余的图像文件。

wordpress禁止生成缩略图,只保留原始上传图片的终极代码

生成的7个图片尺寸

Image Size Dimensions
Thumbnail(缩略图) Size based on Media settings(大小取决于媒体设置。默认为 150px)
Medium(中等大小) Size based on Media settings(大小取决于媒体设置。默认为300px)
Large(大尺寸) Size based on Media settings(大小取决于媒体设置。默认为1024px)
Medium Large(中大尺寸) 768px
2x Medium Large(2x中大尺寸) 1536px
2x Large(2x大尺寸) 2048px
Scaled(缩放) 2560px

禁止生成的代码

下面是禁止生成上述所有尺寸,仅保留原始尺寸图片的综合代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// disable generated image sizes 禁止生成图像尺寸
function shapeSpace_disable_image_sizes($sizes) {
	// disable thumbnail size 禁止缩略图尺寸
	unset($sizes['thumbnail']);
	// disable medium size 禁止中等尺寸    
	unset($sizes['medium']);
	// disable large size 禁止大尺寸
	unset($sizes['large']);
	// disable medium-large size 禁止中大尺寸
	unset($sizes['medium_large']); 
	// disable 2x medium-large size 禁止2倍中大尺寸
	unset($sizes['1536x1536']);
	// disable 2x large size 禁止2倍大尺寸    
	unset($sizes['2048x2048']);
	return $sizes;
}
add_action('intermediate_image_sizes_advanced', 'shapeSpace_disable_image_sizes');
 
// disable scaled image size 禁止缩放图片尺寸
add_filter('big_image_size_threshold', '__return_false');
 
// disable other image sizes 禁止生成其它图像尺寸
function shapeSpace_disable_other_image_sizes() {	
	// disable images added via set_post_thumbnail_size() 禁止通过set_post_thumbnail_size()函数生成的图片尺寸
	remove_image_size('post-thumbnail'); 
	// disable any other added image sizes 禁止添加其它图像尺寸
	remove_image_size('another-size');   	
}
add_action('init', 'shapeSpace_disable_other_image_sizes');

如果只想单独禁止其中一个尺寸,如:禁止2倍大尺寸,可参考下面的代码格式:

1
2
3
4
5
6
function shapeSpace_disable_2x_large_images($sizes) {
	// disable 2x large size 禁止2倍大尺寸
	unset($sizes['2048x2048']);
	return $sizes;	
}
add_filter('intermediate_image_sizes_advanced', 'shapeSpace_disable_2x_large_images');

了解更多

以上内容仅分享了直接使用的代码,如果想了解wordpress图像生成的详细介绍可阅读下面代码出处的文章:

代码出处:https://perishablepress.com/disable-wordpress-generated-images/

附:前面博客吧介绍过禁止生成缩略图、中等大小、大尺寸、中大尺寸图片的方法:

1、WordPress 博客关闭图片缩略图功能的方法:缩略图(thumbnail)、中等大小(medium)、大尺寸(large)

https://www.boke8.net/wordpress-close-thumbnail.html

2、wordpress禁止生成768px像素缩略图的方法:中大尺寸(Medium Large)

https://www.boke8.net/wordpress-medium-large-size-w.html