Поддержка AVIF формата картинок в WordPress 6.5
С версии WordPress 6.5 можно использовать современный формат изображений AVIF.
AVIF предлагает значительные улучшения качества изображения и сжатия по сравнению с с другими форматами: JPEG, PNG и даже WebP. Изображения AVIF могут быть на 50% меньше JPEG, сохраняя при этом одинаковое качество. Изображения AVIF также поддерживают широкий диапазон цветов (включая HDR) и выглядят более четко, чем JPEG.
Изображения AVIF по-прежнему получают все преимущества адаптивных изображений, приоритета по загрузке и ленивой загрузки, которые по умолчанию поддерживает WordPress.
Поддержка AVIF браузерами
AVIF поддерживается всеми основными браузерами, поэтому большинство сайтов могут начать использовать этот формат уже сегодня.
Если аудитория вашего сайта пользуется браузерами, которые не поддерживают AVIF формат, то можно добавить скрипт-полифил полифил.
Использование изображений AVIF в WordPress
С WordPress 6.5, вы можете загружать и использовать изображения AVIF в WordPress так же, как JPEG или PNG. Единственное условие - чтобы ваш сервер/хостинг умел работать с AVIF.
В WordPress изображения обрабатываются одной из библиотек Imagick или GD, поэтому нужно, чтобы у вас на сервере были установлены достаточно свежии версии этих библиотек, которые умеют работать с AVIF форматом.
Чтобы проверить умеет ли используемая на сайте библиотека работать с AVIF, перейдите в админке на страницу Инструменты > Здоровье сайта
и на вкладке "Информация" раскройте раздел "Обработка медиа", там найдите "AVIF" в списке поддерживаемых форматов:
Поддержка формата AVIF в библиотеках Imagick и GD
Imagick
Для Imagick поддержка AVIF зависит не только от версии самой библиотеки Imagick, но и от версии используемой библиотеки ImageMagick, поскольку Imagick является оберткой для ImageMagick в PHP. Поддержка AVIF была добавлена в ImageMagick начиная с версии 7.0.10-58 (ссылка на блог). Следовательно, для работы с AVIF через Imagick, вам необходимо убедиться, что установлена соответствующая версия ImageMagick, а также версия Imagick, которая с ней совместима.
GD
Для библиотеки GD поддержка AVIF была добавлена в PHP 8.1. Однако для использования этой функциональности также необходимо, чтобы ваша версия GD была скомпилирована с поддержкой AVIF. Это означает, что наличие поддержки AVIF в GD будет зависеть от того, как была сконфигурирована и собрана ваша версия PHP и GD. Важно проверить, включена ли поддержка AVIF, используя функцию phpinfo() или gd_info().
Создание AVIF изображений
Многие инструменты для редактирования изображений поддерживают экспорт в AVIF.
Для конвертации вы также можете использовать веб-инструменты (напримр Squoosh) или CLI инструменты (например https://github.com/lovell/avif-cli).
После сохранения изображений в AVIF, загрузите их в WordPress и используйте так же, как любое другое изображение.
WordPress также может автоматически создавать изображения AVIF (смотрите FAQ ниже).
FAQ
Как настроить уровень сжатия для AVIF картинок?
Используйте Фильтр wp_editor_set_quality для установки настроек качества. Параметр $mime_type позволяет устанавливать настройки по типу, например:
// Изменим качество AVIF картинок add_filter( 'wp_editor_set_quality', 'filter_avif_quality', 10, 2 ); function filter_avif_quality( $quality, $mime_type ) { if ( 'image/avif' === $mime_type ) { return 75; } return $quality; }
Как вывести lossless AVIF картинку?
Использование уровня сжатия 100 установит AVIF в lossless режим.
По умолчанию качество выставлено в 82.
Сможет ли WordPress создать изображения AVIF при загрузке JPEG?
Да. Разработчики могут использовать фильтр image_editor_output_format для указания этого типа трансформации для загрузок. Пример:
// Конвертируем JPEG в AVIF при загрузке картинки add_filter( 'image_editor_output_format', 'filter_image_editor_output_format' ); function filter_image_editor_output_format( $formats ) { $formats['image/jpeg'] = 'image/avif'; return $formats; }
Если я использую WordPress multisite, будут ли все мои сайты работать с изображениями AVIF?
Нет. В multisite хранятся типы файлов, которые пользователи могут загружать при создании сайта. Мы все еще работаем над улучшением этого см тикет #53167.
Пока, чтобы гарантировать, что все существующие сайты в сети разрешают файлы AVIF, вы можете использовать фильтр site_option
в mu-plugin, где добавить avif в допустимые типы файлов для всех сайтов сети:
// Включем поддержку AVIF для всех сайтов сети. add_filter( 'site_option_upload_filetypes', 'filter_site_option_upload_filetypes' ); function filter_site_option_upload_filetypes( $filetypes ) { $filetypes = explode( ' ', $filetypes ); if ( ! in_array( 'avif', $filetypes, true ) ) { $filetypes[] = 'avif'; } return implode( ' ', $filetypes ); }
--
Источник: https://make.wordpress.org/core/2024/02/23/wordpress-6-5-adds-avif-support/