Как установить минимальные размеры медиафайлов для загрузки?
Перед администраторами сайтов зачастую встает вопрос о том, как установить для авторов минимальный размер загружаемых изображений. Скажем, тема заточена под использование "избранного изображения" с шириной 700 пикселей, а автор загружает для записи изображение с шириной 400 пикселей. В результате, запись выглядит не так, как задумано. А если автор темы не предусмотрел подобного, то и верстка сайта может "поехать". Это можно исправить, установив минимальный размер загружаемых изображений для всех, кроме администраторов. Для этого вам необходимо добавить в файл functions.php вашей темы следующий код:
//ограничение на загрузку медиафайлов по размеру start function wph_minimum_media_sizes($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; } //если пользователь не администратор, то включаем фильтр на минимальный размер function wph_check_users() { if(!current_user_can('administrator')) add_filter('wp_handle_upload_prefilter', 'wph_minimum_media_sizes'); } add_action('admin_init', 'wph_check_users'); //ограничение на загрузку медиафайлов по размеру end |
Не забудьте указать свои собственные минимальные размеры изображений.