WP_IMG_TAG_ADD_DECODING_ATTR() Function: Usage, Hooks, and Example

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-тегу изображения на основе переданного контекста и значения фильтра. Если атрибут не добавляется, функция возвращает оригинальный тег изображения.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *