web-dev-qa-db-fra.com

Comment puis-je m'assurer qu'un plugin charge un script après jQuery

Mon client a un site exécutant la dernière version de WordPress, avec Thesis.

Actuellement, jQuery est chargé dans le pied de page, en tant que tout dernier script chargé. Je ne suis pas sûr de ce qui cause le chargement de jQuery - peut-être Thesis, ou autre chose.

Nous ajoutons un plugin, qui a un script qui se charge. Le script est en cours de chargement dans le pied de page. Mais il est en cours de chargement AVANT jQuery, donc cela échoue.

La ligne de scripts de mise en file d'attente est la suivante:

add_action('wp_enqueue_scripts', array($this, 'stb_enqueue_scripts'));

Je l'ai édité pour être ceci:

$deps = array("jquery");
add_action('wp_enqueue_scripts', array($this, 'stb_enqueue_scripts', $deps));

Mais cela n'a pas résolu le problème - en fait, le script n'était plus chargé du tout.

Comment puis-je m'assurer que ce script se charge après jQuery?

Je vous remercie!!

1
dylanized

En utilisant wp_enqueue_script ou la fonction wp_print_script, vous pouvez charger votre fichier JS après le chargement de jQuery. Référence d'utilisation -

<?php wp_enqueue_script( $handle, $src, $deps, $ver, $in_footer ); ?>

L'argument $dep (dépendances) doit être un tableau, null ou vide, et ne doit pas être utilisé comme vous l'avez fait pour votre code. Il sera activé avec wp_enqueue_script ou la fonction wp_print_script.

Votre première référence add_action utilisée est valide, mais la seconde n'est pas valide.

Sur votre fonction stb_enqueue_scripts, il devrait être -

function stb_enqueue_scripts()
{
    // third argument is the dependencies, should be array or boolean false
    // fifth argument = boolean true if loading the script at footer
    wp_enqueue_script( 'script-name', 'script_url', array('jquery'), '', true );
}
7
Shazzad