利用wordpress搭建的站點可以上傳圖片,如果站點開放了用戶注冊,除了管理員自己外其他人也就可以上傳圖片。有時候為了省事站長會直接上傳原圖,如果沒有對上傳圖片的尺寸大小做限制,用戶也會直接上傳原圖,這樣就會帶來問題。大量的大圖不僅會占用服務器空間,同時也會影像網頁的加載速度。所以最好的解決辦法還是要對Wordpress限制下圖片上傳尺寸和大小。那應該如何操作呢?今天17站長網就來給大家分享下wordpress限制用戶上傳圖片尺寸大小的教程,希望能幫助到你! 大家可以將下列代碼復制進當前主題的 function.php 中,代碼的含義是按照圖片的尺寸進行現在,排除掉了管理員。 add_action( 'admin_init', 'zm_wp_limit_image_upload_size' ); function zm_wp_limit_image_upload_size() { // 排除管理員 if( ! current_user_can( 'administrator' ) ) add_filter( 'wp_handle_upload_prefilter', 'zm_limit_image_upload_size' ); } function zm_limit_image_upload_size( $file ) { // Mime type with dimensions, check to exit earlier $mimes = array( 'image/jpeg', 'image/png', 'image/gif' ); if( !in_array( $file['type'], $mimes ) ) return $file; $img = getimagesize( $file['tmp_name'] ); $maximum = array( 'width' => 500, 'height' => 700 ); if ( $img[0] > $maximum['width'] ) $file['error'] = '圖片太大。 最大寬度為 ' . $maximum['width'] . 'px. 上傳的圖片寬度為 ' . $img[0] . 'px'; elseif ( $img[1] > $maximum['height'] ) $file['error'] = '圖片太大。 最大高度為' . $maximum['height'] . 'px. 上傳的圖片高度為' . $img[1] . 'px'; return $file; } 按照圖片的大小進行限制,代碼如下: function zm_limit_image_size($file) { // 以 KB 計算圖像大小 $image_size = $file['size']/1024; // 限制文件大小以 KB 為單位 $limit = 200; // 檢查它是否是圖像 $is_image = strpos($file['type'], 'image'); if ( ( $image_size > $limit ) && ($is_image !== false) ) $file['error'] = '你的圖片太大了。 必須小于 '. $limit .'KB'; return $file; } add_filter('wp_handle_upload_prefilter', 'zm_limit_image_size'); 除了上面的這種方法,大家還可以通過使用插件來解決,插件名“WP Image Size Limit”,可以對文件大小和尺寸進行限制,可以在后臺搜索并安裝。 插件地址:https://cn.wordpress.org/plugins/wp-image-size-limit/ |
免責聲明:本站部分文章和圖片均來自用戶投稿和網絡收集,旨在傳播知識,文章和圖片版權歸原作者及原出處所有,僅供學習與參考,請勿用于商業用途,如果損害了您的權利,請聯系我們及時修正或刪除。謝謝!
始終以前瞻性的眼光聚焦站長、創業、互聯網等領域,為您提供最新最全的互聯網資訊,幫助站長轉型升級,為互聯網創業者提供更加優質的創業信息和品牌營銷服務,與站長一起進步!讓互聯網創業者不再孤獨!
掃一掃,關注站長網微信