wp_style_add_data()
Добавляет данные для файлов стилей подключаемых с помощью wp_enqueue_style(). Используйте когда, например, нужно подключить стили только для IE.
Работает только если стили уже находятся в очереди на вывод на странице с помощью wp_enqueue_style().
Аналогичная функция, только для подключаемых скриптов: wp_script_add_data()
Хуков нет.
Возвращает
true|false
. True при успешном выполнении, false при ошибке.
Использование
wp_style_add_data( $handle, $key, $value );
- $handle(строка) (обязательный)
- Название подключаемого файла стилей. Указывается параметром $handle в wp_enqueue_style().
- $key(строка) (обязательный)
Название типа данных к которым будет добавлено значение.
Может быть:-
conditional
— Строка. Условный комментарии, например подключение стилей только для IE 6, больше чем или рано IE 7 (gte) и т.д.Примеры значений параметра
$value
, при параметре $key = conditional:IE
- только для IE (любой версии)IE 6
- только для IE 6IE 7
- только для IE 7IE 8
- только для IE 8IE 9
- только для IE 9gt IE 6
- только для IE больше 6lt IE 9
- только для IE меньше 9gte IE 7
- только для IE больше или равно 7lte IE 7
- только для IE меньше или равно 7!IE
- для всех браузеров кроме IE Работает только до IE9 включительно, дальнейшие версии IE не поддерживают условные комментарии.
alt
— Логический. Для rel="alternate stylesheet".title
— Строка. Для предпочитаемых/альтернативных стилей.rtl
(Right-to-Left) — Логический/строка. Для объявления RTL стилей. Для арабской письменности...suffix
— Строка. Суффикс для условия к RTL.
-
- $value(смешанный) (обязательный)
- Строка содержащая данные которые нужно добавить.
Примеры
#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', array( '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', array( 'twentyfifteen-style' ), '20141010' ); wp_style_add_data( 'twentyfifteen-ie7', 'conditional', 'lt IE 8' ); }
Выведет тег link в условных комментариях:
<!--[if lt IE 9]> <link rel='stylesheet' id='twentyfifteen-ie-css' href='http://test.ru/wp-content/themes/twentyfifteen/css/ie.css?ver=20141010' type='text/css' media='all' /> <![endif]--> <!--[if lt IE 8]> <link rel='stylesheet' id='twentyfifteen-ie7-css' href='http://test.ru/wp-content/themes/twentyfifteen/css/ie7.css?ver=20141010' type='text/css' media='all' /> <![endif]-->
lt
значит «lower than» - меньше чем. Чтобы указать «больше чем», используйте gt
.
#2 Другие примеры вывода
// alt wp_enqueue_style( 'mystyle_id', 'http://example.com/css/mystyle.css' ); wp_style_add_data( 'mystyle_id', 'alt', true ); // <link rel='alternate stylesheet' id='mystyle_id-css' href='http://example.com/css/mystyle.css?ver=4.4.1' type='text/css' media='all' /> // title wp_style_add_data( 'mystyle_id', 'title', 'foo' ); // <link rel='stylesheet' id='mystyle_id-css' title='foo' href='http://example.com/css/mystyle.css?ver=4.4.1' type='text/css' media='all' />
Заметки
- Смотрите: WP_Dependencies::add_data()
Список изменений
С версии 3.6.0 | Введена. |
С версии 5.8.0 | Added 'path' as an official value for $key. See wp_maybe_inline_styles(). |
Код wp_style_add_data() wp style add data WP 6.5.2
function wp_style_add_data( $handle, $key, $value ) { return wp_styles()->add_data( $handle, $key, $value ); }