利用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/
|
免責聲明:本站部分文章和圖片均來自用戶投稿和網絡收集,旨在傳播知識,文章和圖片版權歸原作者及原出處所有,僅供學習與參考,請勿用于商業用途,如果損害了您的權利,請聯系我們及時修正或刪除。謝謝!

始終以前瞻性的眼光聚焦站長、創業、互聯網等領域,為您提供最新最全的互聯網資訊,幫助站長轉型升級,為互聯網創業者提供更加優質的創業信息和品牌營銷服務,與站長一起進步!讓互聯網創業者不再孤獨!
掃一掃,關注站長網微信
大家都在看