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

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

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

Спасибо.

Дейв
источник

Ответы:

14

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

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.

EAMann
источник
... нужен ли jquery в wp_enqueue_script?
Дейв
В wp_register_scriptфункции да. Он сообщает WordPress, что jQuery необходим для запуска этого скрипта, поэтому он будет загружен соответствующим образом. В wp_enqueue_scriptэтом нет необходимости, потому что WP уже знает зависимости от ранее.
swissspidy
В точку. Извините, забыл удалить jQuery из wp_enqueue_script()звонка. Это не нужно там.
EAMann