Функция WP_STYLE_ADD_DATA() в WordPress
Функция wp_style_add_data() добавляет метаданные к файлу CSS, который был подключен с использованием функции wp_enqueue_style(). Это может быть полезно, например, для того, чтобы сделать так, чтобы файл стилей работал только с определёнными версиями браузеров Internet Explorer (IE).
Метаданные будут добавлены к стилю только в том случае, если стиль уже был подключен с помощью функции wp_enqueue_style().
Существует аналогичная функция для скриптов: wp_script_add_data().
Возвращаемое значение
Функция возвращает true при успешном выполнении и false в случае неудачи.
Использование
Синтаксис функции выглядит следующим образом:
wp_style_add_data( $handle, $key, $value );
Параметры
-
$handle (string, обязательный): Имя стиля, к которому добавляются метаданные. Используйте здесь значение параметра
$handleиз функцииwp_enqueue_style(). -
$key (string, обязательный): Название данных, для которых мы сохраняем значение. Возможные варианты:
-
conditional: Строка, которая предназначена для условных комментариев, например, чтобы указать, что этот стиль работает только для браузеров IE 6 или только для IE-версий старше 7.
-
Примеры значений для $value:
IE- только для всех IE (любых версий)IE 6- только для IE 6lt IE 9- для версий IE менее 9!IE- для всех браузеров, кроме IE
-
alt (boolean): Для добавления
rel="alternate stylesheet". -
title (string): Для предпочтительных/альтернативных стилей.
-
rtl (boolean|string): Чтобы указать, что это стиль для языков, читаемых справа налево (например, арабский).
-
suffix (string): Необязательный суффикс, используемый в сочетании с RTL.
-
-
$value (mixed, обязательный): Строка, содержащая данные, котор��е нужно добавить.
Примеры использования
Пример 1: Добавление условных комментариев для стилей
Этот пример из темы Twenty Fifteen. Он загружает стили только для IE8 и более ранних версий, так как IE10 и более новые версии не поддерживают условные комментарии.
add_action( 'wp_enqueue_scripts', 'wpdocs_enqueue_scripts' );
function wpdocs_enqueue_scripts() {
// Загружаем стили для Internet Explorer
wp_enqueue_style( 'twentyfifteen-ie', get_template_directory_uri() . '/css/ie.css', [ 'twentyfifteen-style' ], '20141010' );
wp_style_add_data( 'twentyfifteen-ie', 'conditional', 'lt IE 9' );
// Загружаем стили для Internet Explorer 7
wp_enqueue_style( 'twentyfifteen-ie7', get_template_directory_uri() . '/css/ie7.css', [ 'twentyfifteen-style' ], '20141010' );
wp_style_add_data( 'twentyfifteen-ie7', 'conditional', 'lt IE 8' );
}
При этом генерируется тег link, обернутый в условные комментарии:
Примечание:
ltозначает "меньше чем". Используйтеgtдля указания "больше чем".
Пример 2: Другие варианты использования
// Использование alt
wp_enqueue_style( 'mystyle_id', 'http://example.com/css/mystyle.css' );
wp_style_add_data( 'mystyle_id', 'alt', true );
//
// Использование title
wp_style_add_data( 'mystyle_id', 'title', 'foo' );
//
Примечания
- Обратите внимание на использование функции
WP_Dependencies::add_data()для обработки добавления данных к стилям и скриптам.
Изменения
- С версии 3.6.0: функция была добавлена.
- С версии 5.8.0: добавлено значение 'path' для параметра
$key.
Взаимосвязанные функции
Функция wp_style_add_data() тесно связана с другими функциями для работы со стилями в WordPress:
wp_add_inline_style()wp_dequeue_style()wp_deregister_style()wp_enqueue_style()wp_register_style()wp_style_is()- и другие функции для работы со скриптами и стилями.
Эти функции упрощают управление стилями и помогают сделать вашу тему WordPress более гибкой и совместимой с различными браузерами.