Intereting Posts
Домашняя страница WordPress зависает в браузерах IE Показывать количество проданных товаров, но сначала не менее 2 Вы можете динамически вызвать тег alt для изображения? Как заставить URL-адреса WordPress соответствовать статическим html-адресам Получить условия публикации текущего сообщения (выбранный термин таксономии). Как получить только значение таксономии, а не «Массив ( => таксономический термин)» в интерфейсе? Получить постоянную связь без домена (т. Е. Получить относительную постоянную ссылку) Оберните каждый короткий код в массиве div Отобразить самую глубокую категорию детей из категории X (в цикле) Неверный URL для совместного использования блога на linkedin 404 на форме submit Предотвратите WP от упаковки html в заголовочном shortcode после применения фильтра «image_send_editor» Установите сетевой аватар по умолчанию сортировать типы сообщений по количеству просмотров Функция для добавления класса в элемент <form>? Скрытие php-элемента из мобильных браузеров

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

Мне нужен способ запретить авторам загружать изображения ниже конкретных измерений.

Скажем, я хочу разрешить загрузку изображений размером не менее 400 пикселей x 400 пикселей. Если размер изображения меньше, автор должен получить сообщение об ошибке, что изображение слишком мало.

Есть ли плагин или код, который может это сделать?

Solutions Collecting From Web of "Как требовать минимального размера изображения для загрузки?"

Добавьте этот код в файл functions.php вашей темы, и он ограничит минимальные размеры изображения

add_filter('wp_handle_upload_prefilter','tc_handle_upload_prefilter'); function tc_handle_upload_prefilter($file) { $img=getimagesize($file['tmp_name']); $minimum = array('width' => '640', 'height' => '480'); $width= $img[0]; $height =$img[1]; if ($width < $minimum['width'] ) return array("error"=>"Image dimensions are too small. Minimum width is {$minimum['width']}px. Uploaded image width is $width px"); elseif ($height < $minimum['height']) return array("error"=>"Image dimensions are too small. Minimum height is {$minimum['height']}px. Uploaded image height is $height px"); else return $file; } 

Затем просто измените номера минимальных размеров, которые вы хотите (в моем примере – 640 и 480)

Я предпочитаю не переформатировать код коллеги.
Итак, это почти тот же ответ, что и @ MaorBarazany, но проверяя тип mime, изменяя объявление file['error'] и меняя пространство имен функций на этот идентификатор вопроса 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; } 

Результат крюка:

заблокированные загрузки изображений