如何禁用WordPress自动生成1536×1536和2048×2048尺寸的图片

本文目录
隐藏
1
一、禁用WordPress裁剪图片方法
2
二、更多WordPress禁用缩略图方法

便宜vps主机发现最近WordPress会自动给上传的图片生成1536×1536和2048×2048尺寸的图片,检查后发现WordPress 5.3后默认加了这两个分辨率的大图,如果你上传的图超过了这个分辨率,则会在原图上裁剪出这两个尺寸的图片,但是平常根本用不到这个大小的图,所以今天分享下如何禁用WordPress自动生成这个尺寸的图片。

一、禁用WordPress裁剪图片方法

在functions.php中添加如下代码即可,代码会禁用WordPress生成1536×1536和2048×2048尺寸的图片:

function remove_default_image_sizes( $sizes) {
    unset( $sizes['1536x1536']);
    unset( $sizes['2048x2048']);
    return $sizes;
}
add_filter('intermediate_image_sizes_advanced', 'remove_default_image_sizes');

出现这个问题的原因:WordPress 5.3 introduced additional image sizes which can be found via /wp-includes/media.php

即WordPress 5.3后默认加了这两个分辨率的大图,如果你上传的图超过了这个分辨率,则会在原图上裁剪出这两个尺寸的图片,而WordPress 1536×1536和WordPress 2048×2048这两个尺寸的图一般都不会用到,并且裁剪出来的图片大小比原图还要大,建议采取的措施就是直接禁了。

二、更多WordPress禁用缩略图方法

WordPress默认会生成很多不同尺寸的缩略图,一些尺寸的根本用不到,也不需要用到,便宜vps主机建站时一般会在【媒体设置】中做如下设置(0表示不会生成对应的缩略图):

网上还有一个直接禁用所有WordPress缩略图的代码,也是放在functions.php中即可:

// 禁用自动生成的图片尺寸
function shapeSpace_disable_image_sizes($sizes) {
	
	unset($sizes['thumbnail']);    // disable thumbnail size
	unset($sizes['medium']);       // disable medium size
	unset($sizes['large']);        // disable large size
	unset($sizes['medium_large']); // disable medium-large size
	unset($sizes['1536x1536']);    // disable 2x medium-large size
	unset($sizes['2048x2048']);    // disable 2x large size
	
	return $sizes;
	
}
add_action('intermediate_image_sizes_advanced', 'shapeSpace_disable_image_sizes');

// 禁用缩放尺寸
add_filter('big_image_size_threshold', '__return_false');

// 禁用其他图片尺寸
function shapeSpace_disable_other_image_sizes() {
	
	remove_image_size('post-thumbnail'); // disable images added via set_post_thumbnail_size() 
	remove_image_size('another-size');   // disable any other added image sizes
	
}
add_action('init', 'shapeSpace_disable_other_image_sizes');