在后台多媒体上传图片时 有时候为了限制图片的大小,或者我们给图片一个最小的范围,但图片不满足这个条件时,给非管理员的上传者一个提示,下面的代码帮你实现。
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']
. $img[0] . 'px';
elseif ( $img[1] < $minimum['height'] )
$file['error'] =
'图片太小了。最小的高度 '
. $minimum['height']
. $img[1] . 'px';
return $file;
}
上述代码对非管理员上传图片进行了'width' => 640,'height' => 480的限制,这里修改你想要的宽高。
原文阅读:http://wordpress.stackexchange.com/questions/28359/