Добавляет атрибут decoding="async"
ко всем картинкам (тегу <img>) в переданном тексте.
Атрибут decoding
позволяет указать, как браузер должен декодировать изображение:
async
- вне основного потока.sync
- в основном потоке.auto
- по логике самого браузера.
В версии 6.1 WordPress добавляет decoding="async"
ко всем изображениям. Текущая функция вызывается в функции wp_filter_content_tags(), которая форсировано висит на хуках:
add_filter( 'the_content', 'wp_filter_content_tags' ); add_filter( 'the_excerpt', 'wp_filter_content_tags' ); add_filter( 'widget_text_content', 'wp_filter_content_tags' ); add_filter( 'widget_block_content', 'wp_filter_content_tags' );
decoding и lazy load - это разные вещи. decoding связан с тем, как браузер декодирует данные картинки, а не когда он их загружает. Т.е. картинка сначала загружается (в кодированом виде), потом декодируется, и только отображается. По умолчанию декодирование происходит в основном потоке, а это может мешать другим процессам происходящем на странице.
Полезные ссылки по теме:
Возвращает
Строку
. Текст в котором к img добавлен атрибут decoding.
Использование
wp_img_tag_add_decoding_attr( $image, $context );
- $image(строка) (обязательный)
- Текст в котором есть <img> теги, к которым нужно добавить decoding атрибут.
- $context(строка) (обязательный)
- Контекст из которого срабатывает фукнцию, передается в хук-фильтр.
Примеры
$html = <<<HTML <p>Some text</p> <img width="442" height="129" class="foo" src="/image-759980.png" alt=""> <p>Some text</p> HTML; $html = wp_img_tag_add_decoding_attr( $html, 'custom' ); echo $html; /* <p>Some text</p> <img decoding="async" width="442" height="129" class="foo" src="/image-759980.png" alt=""> <p>Some text</p> */