WordPress как на ладони

wp_style_add_data()WP 3.6.0

Добавляет данные для файлов стилей подключаемых с помощью wp_enqueue_style(). Используйте когда, например, нужно подключить стили только для IE.

Работает только если стили уже находятся в очереди на вывод на странице с помощью wp_enqueue_style().

Аналогичная функция, только для подключаемых скриптов: wp_script_add_data()

Работает на основе: wp_styles()

Хуков нет.

Возвращает

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 6
    • IE 7 - только для IE 7
    • IE 8 - только для IE 8
    • IE 9 - только для IE 9
    • gt IE 6 - только для IE больше 6
    • lt IE 9 - только для IE меньше 9
    • gte IE 7 - только для IE больше или равно 7
    • lte IE 7 - только для IE меньше или равно 7
    • !IE - для всех браузеров кроме IE Работает только до IE9 включительно, дальнейшие версии IE не поддерживают условные комментарии.
  • alt — Логический. Для rel="alternate stylesheet".
  • title — Строка. Для предпочитаемых/альтернативных стилей.
  • rtl (Right-to-Left) — Логический/строка. Для объявления RTL стилей. Для арабской письменности...
  • suffix — Строка. Суффикс для условия к RTL.
$value(смешанный) (обязательный)
Строка содержащая данные которые нужно добавить.

Примеры

0

#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.

0

#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' />

Заметки

Список изменений

С версии 3.6.0 Введена.
С версии 5.8.0 Added 'path' as an official value for $key. See wp_maybe_inline_styles().

Код wp_style_add_data() WP 6.5.2

function wp_style_add_data( $handle, $key, $value ) {
	return wp_styles()->add_data( $handle, $key, $value );
}
1 комментарий
    Войти