Функция wp_get_webp_info()
в WordPress используется для извлечения метаинформации о WebP-изображении, такой как его ширина, высота и тип. Она позволяет разработчикам получать ключевые параметры изображения перед его обработкой или выводом.
wp_get_webp_info()
принимает путь к файлу WebP и возвращает массив с данными об изображении, которые могут использоваться для проверки и настройки обработки изображений.
wp_get_webp_info( $filename );
Параметры:
$filename
(string) — Обязательный параметр, путь к WebP-файлу.
Возвращаемое значение: Функция возвращает массив с информацией:
width
(int|false) — Ширина изображения (илиfalse
, если значение не получено).height
(int|false) — Высота изображения (илиfalse
, если значение не получено).type
(string|false) — Тип WebP-файла:'lossy'
,'lossless'
или'animated-alpha'
. При ошибке возвращаетfalse
.
Пример 1: Проверка размеров WebP-изображения перед публикацией
Допустим, нужно проверить, что WebP-изображение соответствует требованиям по ширине и высоте перед тем, как опубликовать его на сайте.
$webp_path = '/wp-content/uploads/2024/11/sample-image.webp';
$image_info = wp_get_webp_info( $webp_path );
if ( $image_info && $image_info['width'] <= 1600 && $image_info['height'] <= 900 ) {
echo "Изображение подходит по размерам для публикации.";
} else {
echo "Изображение слишком большое для публикации.";
}
Результат: Сообщение выведет, если ширина и высота изображения не превышают 1600×900 пикселей.
Пример 2: Проверка типа WebP перед обработкой
В данном примере мы используем wp_get_webp_info()
для проверки типа WebP-изображения, чтобы применять к нему различные фильтры, например, если изображение является анимированным.
$webp_file = '/wp-content/uploads/2024/11/animated-sample.webp';
$info = wp_get_webp_info( $webp_file );
if ( $info && $info['type'] === 'animated-alpha' ) {
echo "Изображение имеет анимацию и альфа-канал, применим специальный фильтр.";
} else {
echo "Изображение статично, фильтр не требуется.";
}
Результат: Если изображение анимированное, скрипт выведет сообщение о применении специального фильтра.
Пример 3: Отображение информации для отладки WebP-изображения
Этот пример показывает, как вывести полные данные об изображении для отладки. Полезно использовать при разработке, чтобы проверить, корректно ли возвращаются параметры изображения.
$debug_webp = '/wp-content/uploads/2024/11/debug-sample.webp';
$webp_metadata = wp_get_webp_info( $debug_webp );
if ( $webp_metadata ) {
echo "Ширина изображения: " . $webp_metadata['width'] . " пикселей<br>";
echo "Высота изображения: " . $webp_metadata['height'] . " пикселей<br>";
echo "Тип WebP: " . $webp_metadata['type'];
} else {
echo "Не удалось получить информацию об изображении.";
}
Результат: Скрипт выводит ширину, высоту и тип WebP-изображения.
Пример 4: Подбор размеров WebP для адаптивного отображения
В данном примере мы проверяем размеры WebP-изображения и задаём класс для адаптивного отображения.
$path_to_webp = '/wp-content/uploads/2024/11/responsive-image.webp';
$image_data = wp_get_webp_info( $path_to_webp );
if ( $image_data ) {
$class = ($image_data['width'] > 800) ? 'large-image' : 'small-image';
echo "<img src='{$path_to_webp}' class='{$class}' alt='Адаптивное изображение'>";
} else {
echo "Ошибка загрузки изображения.";
}
Результат: Если ширина изображения превышает 800 пикселей, будет добавлен класс large-image
, иначе — small-image
.
Заключение
Функция wp_get_webp_info()
удобна для получения параметров WebP-изображений в WordPress. Она позволяет контролировать вывод изображений и адаптировать их обработку, делая работу с WebP-форматом более гибкой.