WordPress如何關閉關閉圖片768、1536、2048、scaled自動裁切
WordPress 擁有非常強大的圖片裁切功能,最基礎的設置就是可以通過 WordPress 後台-設置-媒體中設置圖片大小,有縮略圖大小、中等大小、大尺寸等三個尺寸可以自定義設置。但是 WordPress 也會因為圖片過大裁切一個“-scaled”的圖片文件,然而從 WordPress 5.3 版本開始還會自動裁切一個 768、1536px 和 2048px 大小的圖片,用於適配 img srcset sizes 屬性。所以最多的時候 WordPress 會自動裁切 7 個圖片尺寸。如果主題還配置了自定義圖片裁切,可能還會更多。
WordPress image
當然如果我們通過 WordPress 後台-設置-媒體中設置圖片大小都為 0,那麼 WordPress 5.3 版本及以上就會只裁切 1536、2048、scaled 這三個默認尺寸,並且 768、1536、2048 這三個尺寸正常情況幾乎不會被用到。那麼該如何來移除 WordPress 自動裁切功能呢?
add_filter(‘intermediate_image_sizes_advanced’, ‘__return_false’ ); //移除圖片裁切
add_filter(‘big_image_size_threshold’, ‘__return_false’ ); //移除 scaled 裁切
將以上代碼放置在當前主題 functions.php 文件中即可,其中第一行代碼是移除了圖片的所有自定義尺寸裁切,不論是主題定義的自定義裁切尺寸,還是 WordPress 默認的 768、1536、2048,還是 WordPress 後台設置的圖片大小的尺寸都將失效。第二行代碼就是只移除 scaled 尺寸的圖片的裁切。所以可以根據自己需求使用,同時子凡還提供以下的一段代碼給大家來自定義移除圖片的尺寸大小。
//自定義移除圖片尺寸
add_filter(‘intermediate_image_sizes_advanced’, ‘filter_image_sizes’);
function filter_image_sizes( $sizes) {
unset( $sizes[‘1536×1536’]);
unset( $sizes[‘2048×2048’]);
return $sizes;
}
其實我們淚雪的網站都不會用到 WordPress 自動裁切尺寸的功能,因為這些自動裁切的大小雖然可能會被用到,但是無法保證以後網站改版或者提升圖片質量的時候來升級圖片尺寸,所以我們採用的都是服務器自動裁切圖片的方式,我們網站哪裡需要什麼尺寸,就動態的調用參數來實現實時裁切,避免了服務器一張圖片存儲不同尺寸的冗餘,這樣服務器真正的圖片就只有一張上傳的原圖就可以了。