Как загрузить скрипт после jQuery?

10 апр. 2012 г., 20:22:02
Просмотры: 44.4K
Голосов: 14
function load_my_script(){
    // Регистрируем скрипт с зависимостью от jQuery
    wp_register_script( 'my_script', get_template_directory_uri() . '/js/myscript.js', array('jquery') );
    // Подключаем скрипт
    wp_enqueue_script( 'my_script');
}
add_action('wp_enqueue_scripts', 'load_my_script');

myscript.js загружается перед jquery, почему? И как сделать так, чтобы он загружался ПОСЛЕ jquery?

Спасибо.

0
Все ответы на вопрос 2
3
21

В вашем коде есть опечатка. Должно быть так:

function load_my_script(){
    wp_register_script( 
        'my_script', 
        get_template_directory_uri() . '/js/myscript.js', 
        array( 'jquery' )
    );
    wp_enqueue_script( 'my_script' );
}
add_action('wp_enqueue_scripts', 'load_my_script');

Зависимость от jQuery должна быть указана как array(), а не просто строка. Это гарантирует, что ваш скрипт загрузится после jQuery.

10 апр. 2012 г. 20:26:49
Комментарии

... нужно ли указывать 'jquery' в wp_enqueue_script?

Dave Dave
10 апр. 2012 г. 20:41:16

В функции wp_register_script - да. Это указывает WordPress, что для работы этого скрипта требуется jQuery, и он будет загружен соответствующим образом. В wp_enqueue_script это не обязательно, потому что WP уже знает о зависимостях из предыдущего вызова.

swissspidy swissspidy
10 апр. 2012 г. 20:56:01

Точно. Извините, забыл убрать jQuery из вызова wp_enqueue_script(). Там это не требуется.

EAMann EAMann
10 апр. 2012 г. 20:59:44
2

get_template_directory_uri() возвращает директорию родительской темы, но это не то, что вам нужно, если вы используете Дочернюю тему.

get_stylesheet_directory_uri() вернет директорию вашей "текущей темы", поэтому в любом случае безопаснее использовать именно эту функцию.

18 мар. 2021 г. 09:06:17
Комментарии

Верно, но вопрос ведь о зависимостях скриптов, не так ли?

Rup Rup
18 мар. 2021 г. 15:20:49

Да. Но если кто-то использует дочернюю тему (Child Theme), ни один из этих ответов не сработает. Так что это полезно.

aarontgrogg aarontgrogg
19 мар. 2021 г. 16:37:14