Работа с изображениями — одна из ключевых задач при создании и поддержке сайта на WordPress. Особенно важна возможность изменять размеры изображений без ухудшения качества, чтобы ускорить загрузку страниц и улучшить визуальное восприятие. В этой статье мы подробно разберём, как программно и с помощью плагинов изменять размер изображений, сохраняя их чёткость и минимизируя вес.
Почему важно правильно изменять размер изображений в WordPress
По умолчанию WordPress создаёт несколько копий загруженных изображений разных размеров: thumbnail, medium, large и оригинал. Однако иногда стандартных размеров недостаточно. Например, нужно вывести изображение с кастомными пропорциями для слайдера или галереи. При этом важно:
- Сохранить качество, чтобы изображение не выглядело размазанным;
- Минимизировать вес файла для быстрой загрузки;
- Оптимизировать картинки под разные устройства (ретина, мобильные).
Изменение размера изображений программно: пример функции wpmagazin_resize_image
Для изменения размера изображения в WordPress можно использовать встроенную функцию wp_get_image_editor(). Она позволяет не только масштабировать, но и сохранять результат с нужными параметрами качества.
Пример функции с префиксом wpmagazin_:
function wpmagazin_resize_image($attachment_id, $width, $height, $crop = true) {
$image_path = get_attached_file($attachment_id);
$editor = wp_get_image_editor($image_path);
if (is_wp_error($editor)) {
return false;
}
$editor->resize($width, $height, $crop);
$resized = $editor->save();
if (is_wp_error($resized)) {
return false;
}
$upload_dir = wp_upload_dir();
$resized_url = str_replace($upload_dir['basedir'], $upload_dir['baseurl'], $resized['path']);
return $resized_url;
}Пояснения:
$attachment_id— ID изображения в медиабиблиотеке;$widthи$height— целевые размеры;$crop— обрезка по центру, если true;- Функция возвращает URL нового изображения или false при ошибке.
Такой подход позволяет динамически создавать нужные размеры и использовать их в шаблонах.
Оптимизация качества и сжатия при изменении размера
По умолчанию WordPress сохраняет JPEG с качеством около 82%, что оптимально для большинства случаев. Но если нужно повысить качество, можно задать параметр:
add_filter('wp_editor_set_quality', function() {
return 90; // Устанавливаем качество JPEG на 90%
});Для PNG качество регулируется иначе, там важна прозрачность. При использовании wp_get_image_editor() можно передать в метод save() дополнительные параметры:
$editor->save($path, 'image/jpeg', 90);<Не стоит ставить качество 100%, это сильно увеличит размер файла без заметного улучшения качества.
Использование плагина Clearfy Pro для управления размерами изображений
Плагин Clearfy Pro предлагает удобный интерфейс для управления размерами изображений и оптимизацией. Среди функций:
- Автоматическое удаление ненужных размеров;
- Настройка качества сжатия;
- Возможность массовой регенерации миниатюр;
- Оптимизация изображений при загрузке.
Это отличный вариант для тех, кто не хочет писать код и хочет получить гибкие настройки.
Пример использования функции wpmagazin_resize_image в шаблоне
Допустим, нужно вывести на странице поста изображение с размерами 600x400 пикселей:
$image_url = wpmagazin_resize_image(get_post_thumbnail_id(), 600, 400);
if ($image_url) {
echo '<img src="' . esc_url($image_url) . '" alt="" width="600" height="400"/>';
} else {
// fallback
the_post_thumbnail('medium');
}Так мы гарантируем, что изображение будет ровно нужного размера, а не просто уменьшено браузером.
Советы по работе с изображениями в WordPress
1. Используйте правильные форматы
Для фотографий лучше подходит JPEG, для графики с прозрачностью — PNG или WebP. WordPress поддерживает WebP с версии 5.8, что снижает вес файлов при хорошем качестве.
2. Минимизируйте количество размеров
Отключите стандартные размеры, которые не используете, чтобы не создавать лишних файлов в медиабиблиотеке. Это можно сделать через фильтр intermediate_image_sizes_advanced.
3. Используйте lazy loading
Поддерживается нативно в WordPress, но для сложных страниц можно дополнительно оптимизировать с помощью плагинов, например WPStories умеет интегрировать эффективную загрузку изображений.
Заключение: правильное масштабирование — залог быстрого и качественного сайта
Изменение размера изображений с сохранением качества требует понимания инструментов WordPress и правильной настройки. Используйте функцию wpmagazin_resize_image для динамического масштабирования, регулируйте качество JPEG через фильтры и по возможности оптимизируйте с помощью профессиональных плагинов, например Clearfy Pro. Такой подход поможет сократить время загрузки, сохранить визуальную привлекательность и улучшить поведение сайта на любых устройствах.