wp_script_add_data

Добавляет данные к подключенным на странице скриптам с помощью wp_enqueue_script(). Используйте когда, например нужно выводить скрипт только для «IE 6» или «lt IE 9» (меньше IE 9).

Работает только если скрипт уже был зарегистрирован или добавлен в очередь на вывод – см. wp_register_script() или wp_enqueue_script().

Пока можно указать только дополнительные данные для подключения скрипта только для указанных браузеров. Т.е. $key может быть равен только conditional, а $value строке «IE 6», «lte IE 7» и т.д.

Для стилей есть аналогичная функция: wp_style_add_data()

Хуков нет.

Возвращает

True/false. True, если данные добавлены. false при неудаче.

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

wp_script_add_data( $handle, $key, $value );
$handle(строка) (обязательный)
ID, название скрипта, к которому нужно добавить данные. Тут нужно указывать первый параметр из wp_enqueue_script() или из wp_register_script().
$key(строка) (обязательный)
Название типа добавляемых данных. На основе этого параметра будет обрабатываться значение указанное в $value. Может быть: conditional, data – (используется в wp_localize_script()), group – в какой группе выводить (в шапке или в подвале).
$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 версий 5-9

Примеры

#1 Подключим скрипт только для IE меньше 9 версии

Этот пример показывает, как добавить условие подключения зарегистрированного скрипта. Например добавим условие <!–[if lt IE 9]>…<![endif]–> – для IE меньше 9.

add_action( 'wp_enqueue_scripts', 'my_enqueue_scripts' );
function my_enqueue_scripts() {
	// Подключаем специальные скрипты только для Internet Explorer 6
	wp_enqueue_script('pngfix', get_template_directory_uri() .'js/pngfix.js'); // async
	wp_script_add_data('pngfix', 'conditional', 'lt IE 9');
}

В результате получим в head документа

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