ฉันไม่ต้องการฟอร์แมตรหัสของเพื่อนร่วมงานอีก
ดังนั้นนี่เป็นคำตอบเดียวกับ @ MaorBarazany แต่การตรวจสอบประเภท mime เป็นการเปลี่ยนfile['error']
ประกาศและเปลี่ยน namespace ของฟังก์ชั่นเป็น ID คำถาม wpse นี้
นอกจากนี้การตรวจสอบจะเกิดขึ้นกับผู้ใช้ที่ไม่ใช่ผู้ดูแลระบบเท่านั้น
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 )
{
// 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'] );
$minimum = array( 'width' => 640, 'height' => 480 );
if ( $img[0] < $minimum['width'] )
$file['error'] =
'Image too small. Minimum width is '
. $minimum['width']
. 'px. Uploaded image width is '
. $img[0] . 'px';
elseif ( $img[1] < $minimum['height'] )
$file['error'] =
'Image too small. Minimum height is '
. $minimum['height']
. 'px. Uploaded image height is '
. $img[1] . 'px';
return $file;
}
ผลลัพธ์ของ hook: