WordPress 升級 4.4 之后,推出了 srcset 這個圖片多屏自適應(yīng)功能之后,默認會生成四個版本的縮略圖。因為要適應(yīng)不同大小的屏幕,有時要根據(jù)圖片比例不同而生成不同的尺寸。但是,如果上傳一張圖片要生成多個不同尺寸的圖片,在有些主題下,是比較浪費空間的。
- 原文參考:詳情
這些縮略圖分別為:
- thumbnail:縮略圖大小;
- medium:中等大小;
- large:大尺寸;
- medium_large:固定值寬768,高度不限制;
前三種版本大家都很熟悉了,進入?WP后臺 —> 設(shè)置 —>?媒體,可以看到圖片的大小設(shè)置:

上面設(shè)置的含義:
- 縮略圖大小(thumbnail),都設(shè)置成了0,表示禁用了縮略圖裁剪
- 中等大小(medium),寬度設(shè)置成了 768,高度為0(不限),表示以寬度為準,高度自適應(yīng)調(diào)整縮放比例,另保持跟默認的?medium_large_size_w?= 768 一致,共用一張圖
- 大尺寸(large),都設(shè)置成了0,表示禁用了大圖裁剪
- medium_large,進入WP數(shù)據(jù)庫,搜索wp_options表medium_large_size_w可以看到。
或者進入WordPress上帝模式。
也可以看到?medium_large_size_w?。

由以上列表可以看出,如果我們上傳一張足夠大的圖片,就會產(chǎn)生至少四張縮略圖,為什么這里說是至少?
因為適應(yīng)不同大小的屏幕,有時要根據(jù)圖片比例不同而生成不同的尺寸。
但是,上傳一張圖片要生成多個不同尺寸的圖片,這是何等的浪費空間!
禁用自動裁剪縮略圖片
為了禁用自動裁剪多張縮略圖片,占用大量磁盤空間,以及遷移維護成本,需要禁用掉自動裁剪縮略圖片功能。
一般情況下,僅需第一步和第三步即可。
- 代碼來源:詳情
第一步:
通常我們只需在多媒體設(shè)置頁面將所有尺寸設(shè)置為0,就能禁用縮略圖裁剪:

第二步
但是上圖這種方法,無法禁用?medium_large?版本,其數(shù)據(jù)寫入了數(shù)據(jù)庫,解決辦法可在進入上帝模式后,搜索medium_large_size_w
,設(shè)為0即可。

第三步
在主題根目錄下的functions.php
的<?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');
66666有用,感謝分享