wp_style_add_data

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

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

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

Хуков нет.

Возвращает

True/false. True on success, false on failure.

Использование

wp_style_add_data( $handle, $key, $value );
$handle(строка) (обязательный)
Название подключаемого файла стилей. Указывается ID из wp_enqueue_style(), а не название файла стилей.
$key(строка) (обязательный)

Название типа данных к которым будет добавлено значение.
Может быть:

  • conditional — Строка. Условный комментарии, например подключение стилей только для IE 6, больше чем (lte) IE 7 и т.д. Варианты значений при $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 версий 5-9
  • 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 в условных комментариях:

// alt
wp_enqueue_style( 'mystyle_id', 'http://site.com/css/mystyle.css' );
wp_style_add_data( 'mystyle_id', 'alt', true );
// <link rel='alternate stylesheet' id='mystyle_id-css'  href='http://site.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://site.com/css/mystyle.css?ver=4.4.1' type='text/css' media='all' />

Код из


wp-includes/functions.wp-styles.php

WP 4.7.3

<?php
function wp_style_add_data( $handle, $key, $value ) {
	return wp_styles()->add_data( $handle, $key, $value );
}

Комментарии:


Оставить комментарий

Your email address will not be published. Required fields are marked *