Как проверить размер изображения перед загрузкой в дашборде?

Сделал тему, надо чтобы минимальный размер загружаемой картинки был 740х400px.
Долго искал, как сделать программную проверку фоток при загрузке. Долго искал и нашел:

Следующий код вставить в файлfunctions.php

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/bmp',
 'image/x-windows-bmp',
 'image/gif'
 );

 if( !in_array( $file['type'], $mimes ) )
 return $file;

 $img = getimagesize( $file['tmp_name'] );
 $minimum = array( 'width' => 760, 'height' => 400 );

 if ( $img[0] < $minimum['width'] AND $img[1] > $minimum['height'] )
 $file['error'] = 
 'Загружаемая картинка слишком маленькая! Миникальная ширина картинки должна быть ' 
 . $minimum['width'] 
 . 'px. Uploaded image width is ' 
 . $img[0] . 'px';

 elseif ( $img[1] < $minimum['height'] AND $img[0] > $minimum['width'] )
 $file['error'] = 
 'Загружаемая картинка слишком маленькая! Миникальная высота картинки должна быть ' 
 . $minimum['height'] 
 . 'px. Uploaded image height is ' 
 . $img[1] . 'px';
 
 elseif ( $img[1] < $minimum['height'] AND $img[0] < $minimum['width'] )
 $file['error'] = 
 'Загружаемая картинка слишком маленькая! Миникальный размер картинки должен быть ' 
 . $minimum['width'] 
 . ' на ' 
 . $minimum['height'] . 'px';

 return $file;
}

 

Leave a Comment