@vsrgv
2201

Как подключать скрипты для IE в wordpress?

собственно все плагины регистрирую так
/*------------------------------
	fancybox
--------------------------------*/
 add_action( 'wp_footer', 'fancybox' );
function fancybox() {
   /*регистрация скрипта*/
    wp_register_script( 'fancybox' , get_template_directory_uri() . '/libs/fancybox/jquery.fancybox.pack.js', array(jquery), '2.1.5' );
  /*подключение скрипта*/
    wp_enqueue_script( 'fancybox' );
}


А какподключать скрипты для IE, которые должны быть закомментированы в остальных браузерах? Или вставлять в футер обычные ссылки?
  • Вопрос задан
  • 352 просмотра
Решения вопроса 1
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
Во-первых, хукаться в wp_footer - неправильно. Чтобы подключить скрипт в footer достаточно последний аргумент функции wp_enqueue_script установить в true. Ну а wp_register_script вообще не нужен. Эта функция используется для регистрации скрипта, чтобы потом его можно было включать как зависимость к другому скрипту. Если вы его принудительно подключаете через wp_enqueue_script, то предварительная регистрация не имеет смысла.

Что касается конкретно IE, используется так:
function my_scripts() {
    // Подключаем скрипт только для ИЕ, в подвале
    // По трем последним аргументам:
    // array() - зависимости, например array( 'jquery' )
    // null / '1.0.0' - версия скрипта. Гугл не любит их, указав null мы убираем параметр версии из адреса скрипта
    // true - выводить скрипт в футере 
    wp_enqueue_script( 'script-name', get_template_directory_uri() . '/js/script-name.js', array(), null, true ); 
    // Добавляем обертку для ИЕ
    // Используем то же имя скрипта
    // Тип данных - conditional
    // Собственно, условие - <IE9 (можно использовать все валидные значения)
    wp_script_add_data( 'script-name', 'conditional', 'lt IE 9' );
}
add_action( 'wp_enqueue_scripts', 'my_scripts' );
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы