Wie lade ich ein Skript nach jquery?

9
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 wird vor jquery geladen, warum? Und wie lasse ich es NACH der Abfrage laden?

Vielen Dank.

Dave
quelle

Antworten:

13

Sie haben einen Tippfehler in Ihrem Code. Es sollte sein:

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

Die jQuery-Abhängigkeit muss eine array()und nicht nur eine Zeichenfolge sein. Dadurch wird Ihr Skript nach jQuery geladen .

EAMann
quelle
... wird 'jquery' in wp_enqueue_script benötigt?
Dave
In der wp_register_scriptFunktion ja. Es teilt WordPress mit, dass jQuery für die Ausführung dieses Skripts benötigt wird, sodass es entsprechend geladen wird. In ist wp_enqueue_scriptes nicht notwendig, da WP die Abhängigkeiten schon vorher kennt.
swissspidy
Genau. Entschuldigung, ich habe vergessen, jQuery aus dem wp_enqueue_script()Aufruf zu entfernen . Es wird dort nicht benötigt.
EAMann