Flector

Как установить минимальные размеры медиафайлов для загрузки?

Запрет загрузки маленьких изображений

Перед администраторами сайтов зачастую встает вопрос о том, как установить для авторов минимальный размер загружаемых изображений. Скажем, тема заточена под использование "избранного изображения" с шириной 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

Не забудьте указать свои собственные минимальные размеры изображений.


Написать комментарий

Для вставки кода воспользуйтесь кнопкой "Код". Используйте предпросмотр!