Bagaimana cara saya membuat skrip dimuat setelah 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 sedang memuat sebelum jquery, mengapa? Dan bagaimana cara membuatnya memuat SETELAH jquery?

Terima kasih.

Dave
sumber

Jawaban:

14

Anda memiliki kesalahan ketik dalam kode Anda. Ini harus menjadi:

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

Ketergantungan jQuery harus berupa array(), bukan hanya string. Ini akan memaksa skrip Anda untuk memuat setelah jQuery.

EAMann
sumber
... apakah 'jquery' diperlukan di wp_enqueue_script?
Dave
Dalam wp_register_scriptfungsinya, ya. Ia memberi tahu WordPress bahwa jQuery diperlukan untuk menjalankan skrip ini, sehingga skrip ini akan dimuat. Di wp_enqueue_scriptdalamnya tidak perlu, karena WP sudah tahu dependensi dari sebelumnya.
swissspidy
Persis. Maaf, lupa menghapus jQuery dari wp_enqueue_script()panggilan. Tidak diperlukan di sana.
EAMann