VPS GO发现最近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 GO建站时一般会在【媒体设置】中做如下设置(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');