Warum funktioniert wp_enqueue_script (‘jquery-maurery’) nicht?

Ich bemühe mich, meiner Site Mauerwerk hinzuzufügen, aber wp_enqueue_script('jquery-masonry'); fügt das Skript nicht hinzu.

Stattdessen muss ich verwenden:

 wp_register_script('jquery_masonry', includes_url(). '/js/jquery/jquery.masonry.min.js', 'jquery'); wp_enqueue_script('jquery_masonry'); 

Warum das?

Solutions Collecting From Web of "Warum funktioniert wp_enqueue_script (‘jquery-maurery’) nicht?"

jQuery’s Maurerarbeit ist mit WordPress gebündelt . Alles was Sie brauchen, ist wp_enqueue_script('jquery-masonry'); aber beachte, dass die “Schnecke” ein jquery-masonry , kein jquery_masonry . Und stellen Sie sicher, dass Sie sich auf dem wp_enqueue_scripts Hook oder später wp_enqueue_scripts .

 function enqueue_masonry() { wp_enqueue_script('jquery-masonry'); } add_action('wp_enqueue_scripts','enqueue_masonry'); 

Ich nehme an, dass Ihr Problem etwas damit zu tun hat, wenn Sie sich registrieren / einreihen, weil das Laden von coreskripten ziemlich einfach ist.

Wenn das nicht funktioniert, stimmt etwas nicht mit Ihrer Site. Ein Plugin oder ein Theme wird vielleicht abgemeldet. Ohne weitere Informationen wird es schwierig sein, was zu sagen.

s_ha_dum ist korrekt, Sie müssen es nicht selbst in die Warteschlange stellen.

Der Grund, warum Ihr Skript nicht funktioniert, ist, dass Ihre Abhängigkeitsvariable kein Array ist. Dein Code sollte lauten:

 wp_register_script('jquery_masonry', includes_url(). '/js/jquery/jquery.masonry.min.js', array( 'jquery' ) ); 

Tief in der class WP_Dependancies, wenn der Wert übergeben wird, ist es kein Array, sondern legt es als leeres Array fest, wodurch es keine Abhängigkeiten hat. (Siehe wp_includes / class.wp_dependancies.php Zeile 251 ab WP 3.6, bei Interesse)

Also, was ich annehme, ist passiert, ist es Laden in der Mauerwerk-Skript vor jQuery geladen ist, so dass es nichts zu tun.

Verwenden Sie die Antwort von s_ha_dum, da sie bereits in WordPress registriert ist und darauf wartet, in die Warteschlange eingereiht zu werden.