限制上傳圖片的容量大小

在幫客戶架設網站後,往往會在後續教學中特別叮囑圖片的上傳大小,雖說現在網路很快,但動輒數MB的圖片多了,還是會影響網站的載入速度,更別說一些測速網站了,即便跟客戶告知要注意圖片容量,但還是很難避免此情況發生。

所以我乾脆限制圖片上傳的大小,超過限制容量的就無法上傳,下面就看一下程式碼,只要放在 functions.php 裡即可。

// 圖片限制400KB
function image_upload_filesize( $file ) {
    if ( strpos( $file['type'], 'image' ) !== false ) { 
        $size_kb = 400; // 400KB
        $size_limit = $size_kb * 1024; 

        if ( $file['size'] > $size_limit ) {
            $file['error'] = '圖片超過大小限制(400KB)。';
        }
    }

    return $file;
}
add_filter( 'wp_handle_upload_prefilter', 'image_upload_filesize' );

上面我是限制 400KB,可以根據需求改變設定,我也分享一下我在使用的圖片規範:

滿版Banner:寬1920px,高度隨比例設定,容量200KB~300KB為佳。
一般用圖:寬1000px,高度隨比例設定,容量200KB~300KB為佳。
手機版:包含了平板,寬1200px,高度隨比例設定,容量200KB~300KB為佳。