Comment faire un chargement de script après 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 se charge avant jquery, pourquoi? Et comment puis-je le faire charger APRÈS jquery?

Merci.

Dave
la source

Réponses:

14

Vous avez une faute de frappe dans votre code. Cela devrait être:

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');

La dépendance jQuery doit être une array(), et pas seulement une chaîne. Cela forcera votre script à se charger après jQuery.

EAMann
la source
... "jquery" est-il nécessaire dans wp_enqueue_script?
Dave
Dans la wp_register_scriptfonction, oui. Il indique à WordPress que jQuery est nécessaire pour que ce script s'exécute, il sera donc chargé en conséquence. Ce wp_enqueue_scriptn'est pas nécessaire, car WP connaît déjà les dépendances d'avant.
swissspidy
Exactement. Désolé, j'ai oublié de supprimer jQuery de l' wp_enqueue_script()appel. Ce n'est pas nécessaire là-bas.
EAMann