利用wordpress搭建的站點(diǎn)可以上傳圖片,如果站點(diǎn)開放了用戶注冊(cè),除了管理員自己外其他人也就可以上傳圖片。有時(shí)候?yàn)榱耸∈抡鹃L會(huì)直接上傳原圖,如果沒有對(duì)上傳圖片的尺寸大小做限制,用戶也會(huì)直接上傳原圖,這樣就會(huì)帶來問題。大量的大圖不僅會(huì)占用服務(wù)器空間,同時(shí)也會(huì)影像網(wǎng)頁的加載速度。所以最好的解決辦法還是要對(duì)Wordpress限制下圖片上傳尺寸和大小。那應(yīng)該如何操作呢?今天17站長網(wǎng)就來給大家分享下wordpress限制用戶上傳圖片尺寸大小的教程,希望能幫助到你! 大家可以將下列代碼復(fù)制進(jìn)當(dāng)前主題的 function.php 中,代碼的含義是按照?qǐng)D片的尺寸進(jìn)行現(xiàn)在,排除掉了管理員。 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; } 按照?qǐng)D片的大小進(jìn)行限制,代碼如下: function zm_limit_image_size($file) { // 以 KB 計(jì)算圖像大小 $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”,可以對(duì)文件大小和尺寸進(jìn)行限制,可以在后臺(tái)搜索并安裝。 插件地址:https://cn.wordpress.org/plugins/wp-image-size-limit/ |
免責(zé)聲明:本站部分文章和圖片均來自用戶投稿和網(wǎng)絡(luò)收集,旨在傳播知識(shí),文章和圖片版權(quán)歸原作者及原出處所有,僅供學(xué)習(xí)與參考,請(qǐng)勿用于商業(yè)用途,如果損害了您的權(quán)利,請(qǐng)聯(lián)系我們及時(shí)修正或刪除。謝謝!
始終以前瞻性的眼光聚焦站長、創(chuàng)業(yè)、互聯(lián)網(wǎng)等領(lǐng)域,為您提供最新最全的互聯(lián)網(wǎng)資訊,幫助站長轉(zhuǎn)型升級(jí),為互聯(lián)網(wǎng)創(chuàng)業(yè)者提供更加優(yōu)質(zhì)的創(chuàng)業(yè)信息和品牌營銷服務(wù),與站長一起進(jìn)步!讓互聯(lián)網(wǎng)創(chuàng)業(yè)者不再孤獨(dú)!
掃一掃,關(guān)注站長網(wǎng)微信