前陣子小編接到某客户反饋,説是懷疑網站是不是被黑了,沒買多久的空間網站空間就用掉了 1.2G 多。當時小編也覺得奇怪,雖然客户的 WordPress 網站是圖片站,不過小編看了下文章數量和每篇文章的圖片平均大小,應該佔用那麼多空間啊?當時覺得非常奇怪,正好前天好機油源碼集合找小編更換友鏈的關鍵詞,小編突然想到源碼以前曾經找過小編詢問過 WordPress 自動產生的縮略圖佔用大量網站空間問題。小編立即登錄客户的空間查看,果然是縮略圖在作祟。 WordPress 在後台寫文章時通過通過 「添加媒體」 上傳,或者直接在 「多媒體」 中上傳的圖片都會產生三個縮略圖版本,原意是為了方便用户快速的插入不同尺寸的縮略圖。

那麼如何解決 WordPress 自動生成縮略圖從而佔用大量網站空間容量的問題呢?其實只需要一段代碼即可:

function wxd_remove_image_size($sizes) {
                unset( $sizes['small'] );
                unset( $sizes['medium'] );
                unset( $sizes['large'] );
                return $sizes;
        }
        add_filter('image_size_names_choose', 'wxd_remove_image_size');

將以上代碼加入到主題的 functions.php 文件即可刪除 WordPress 自帶的縮略圖版本,這樣一來以後上傳的圖片就不會產生縮略圖版本了,不過之前上傳的圖片的縮略圖依舊存在,大家可以利用工具批量刪除。 (PS:三種縮略圖可以按照自己的需求進行刪減。)

有些時候大家可能會用到固定尺寸的縮略圖,這是時我們還可以自定義個固定尺寸的縮略圖版本,代碼如下:

if ( function_exists( 'add_image_size' ) ) {
    add_image_size( 'new-size', 300, 100, true ); //(設置尺寸)
}
add_filter('image_size_names_choose', 'wxd_image_sizes');
function wxd_image_sizes($sizes) {
        $addsizes = array(
                "new-size" => __( "固定縮略圖")
                );
        $newsizes = array_merge($sizes, $addsizes);
        return $newsizes;
}