То, как WordPress обрабатывает большие изображения, всегда было предметом обсуждения для пользователей и разработчиков.
Обычно загружаются два типа изображений:
- Изображения, которые были отредактированы или созданы в приложении для редактирования изображений.
- Фотографии, которые загружены либо непосредственно с камеры, либо не были отредактированы.
В первом случае изображения обычно «готовы к работе». Возможно, они были уменьшены до соответствующего размера и оптимизированы.
Во втором случае изображения обычно намного больше, чем нужно, и не оптимизированы для использования в Интернете. Размер снимка, сделанного обычным современным смартфоном, превышает 5 МБ. Фотографии, сделанные качественной камерой, могут быть намного больше.
WordPress 5.3 представляет новый способ управления этими изображениями, обнаруживая большие изображения и генерируя их «максимальный размер для веб-оптимизации».
Как это работает?
Когда новое изображение загружено, WordPress определит, является ли оно «большим» изображением, проверив, превышает ли его высота или его ширину a big_image threshold
. Пороговое значение по умолчанию — 2560 пикселей, фильтруется с помощью нового big_image_size_threshold
фильтра.
Если высота или ширина изображения выше этого порогового значения, оно будет уменьшено, а пороговое значение будет использоваться в качестве значения максимальной высоты и максимальной ширины. Уменьшенное изображение будет использоваться в качестве максимально доступного размера.
В этом случае исходный файл изображения сохраняется в папке загрузок и его имя хранится в другом ключе массива в изображении мета массива: original_image
. Чтобы всегда иметь возможность получить путь к первоначально загруженному изображению, wp_get_original_image_path()
была введена новая функция .
Отключение масштабирования
Масштабирование контролируется big_image_size_threshold
фильтром. Возврат false
из фильтра обратного вызова отключит его.
add_filter( 'big_image_size_threshold', '__return_false' );