WP_IMG_TAG_ADD_DECODING_ATTR() │ WP 6.1.0
Введение
Функция wp_img_tag_add_decoding_attr()
была удалена в версии 6.4.0 WordPress и больше не поддерживается. Рекомендуется использовать вместо неё wp_img_tag_add_loading_optimization_attrs()
.
Эта функция добавляет атрибут decoding
к HTML-тегу <img>
, который помогает браузеру решать, как обрабатывать изображение при его загрузке.
Что такое атрибут decoding
?
Атрибут decoding
позволяет разработчикам указать браузеру, может ли он декодировать изображение в асинхронном или синхронном режиме, или оставить это решение на усмотрение браузера.
- async — браузер может начать декодирование изображения в фоновом режиме.
- sync — декодирование изображения происходит в основном потоке, что может замедлить отображение страницы.
- auto — браузер сам решает, как декодировать изображение.
По умолчанию WordPress добавляет decoding="async"
к изображениям, но разработчики могут изменять это значение с помощью фильтра wp_img_tag_add_decoding_attr
.
Пример использования
$image_tag = '
';
$context = 'example_context';
$modified_image_tag = wp_img_tag_add_decoding_attr($image_tag, $context);
Работа функции
Хуки функции
wp_img_tag_add_decoding_attr
— хук, который позволяет модифицировать атрибутdecoding
.
Возврат значения
Функция возвращает строку — модифицированный HTML-тег <img>
с добавленным атрибутом decoding
.
Аргументы
$image
(строка) (обязательный) — HTML-тег изображения, к которому нужно добавить атрибут.$context
(строка) (обязательный) — дополнительный контекст, передаваемый в фильтры.
Примечания
- Рекомендуется ознакомиться с функцией
wp_img_tag_add_loading_optimization_attrs()
для получения актуальной информации о загрузке изображений и их оптимизации.
Изменения
- В версии 6.1.0 функция была введена, а с 6.4.0 считается устаревшей. Используйте
wp_img_tag_add_loading_optimization_attrs()
.
Код функции
function wp_img_tag_add_decoding_attr( $image, $context ) {
_deprecated_function( __FUNCTION__, '6.4.0', 'wp_img_tag_add_loading_optimization_attrs()' );
/*
* Применяем атрибут decoding только к изображениям с атрибутом src,
* который начинается с двойной кавычки, исключая экранированный JSON.
*/
if ( ! str_contains( $image, ' src="' ) ) {
return $image;
}
/** Этот хук задокументирован в wp-includes/media.php */
$value = apply_filters( 'wp_img_tag_add_decoding_attr', 'async', $image, $context );
if ( in_array( $value, array( 'async', 'sync', 'auto' ), true ) ) {
$image = str_replace( '![]()
Этот код добавляет атрибут decoding
к HTML-тегу изображения на основе переданного контекста и значения фильтра. Если атрибут не добавляется, функция возвращает оригинальный тег изображения.