在后台多媒体上传图片时 有时候为了限制图片的大小,或者我们给图片一个最小的范围,但图片不满足这个条件时,给非管理员的上传者一个提示,下面的代码帮你实现。
在functions.php中加入以下代码
add_action( 'admin_init', 'wpse_28359_block_authors_from_uploading_small_images' ); //设置非管理员上传图片进行大小检查 function wpse_28359_block_authors_from_uploading_small_images() { if( !current_user_can( 'administrator') ) add_filter( 'wp_handle_upload_prefilter', 'wpse_28359_block_small_images_upload' ); } function wpse_28359_block_small_images_upload( $file ) { // 上传图片类型的检查限制 $mimes = array( 'image/jpeg', 'image/png', 'image/gif' ); if( !in_array( $file['type'], $mimes ) ) return $file; $img = getimagesize( $file['tmp_name'] ); //上传图片宽高的限制设置 $minimum = array( 'width' => 640, 'height' => 480 ); if ( $img[0] < $minimum['width'] ) $file['error'] = '图片太小了。最小宽度是 ' . $minimum['width'] . 'px. 上传图片宽度是 ' . $img[0] . 'px'; elseif ( $img[1] < $minimum['height'] ) $file['error'] = '图片太小了。最小的高度 ' . $minimum['height'] . 'px. 上传图片高度是 ' . $img[1] . 'px'; return $file; }
上述代码对非管理员上传图片进行了'width' => 640, 'height' => 480的限制,这里修改你想要的宽高。