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(). |
| С версии 6.9.0 | 'conditional' value changed. If the 'conditional' parameter is present the stylesheet will be ignored. |
Код wp_style_add_data() wp style add data WP 7.0.2
function wp_style_add_data( $handle, $key, $value ) {
return wp_styles()->add_data( $handle, $key, $value );
}