Un script qui appelle jQuery avant même que jQuery ne soit chargé provoque une erreur silencieuse dans la console du navigateur. Plutôt que de compter sur l’ordre des balises <script> dans le HTML, WordPress laisse chaque extension déclarer explicitement ce dont son propre code a besoin.
Le déclarer au moment de l’enregistrement
Le troisième argument de wp_register_script() ou wp_enqueue_script() accepte un tableau de « handles », c’est-à-dire les identifiants des scripts requis :
wp_enqueue_script(
'mon-script',
plugins_url( 'js/mon-script.js', __FILE__ ),
array( 'jquery', 'wp-element' ),
'1.2.0',
true
);
WordPress calcule alors automatiquement l’ordre de chargement final, même si plusieurs extensions ou le thème enregistrent des scripts qui dépendent les uns des autres.
Bon à savoir
- Le cœur de WordPress enregistre déjà de nombreux scripts partagés (
jquery,wp-element,wp-components…) : les réutiliser comme dépendances évite de charger deux fois la même bibliothèque. - Depuis WordPress 6.5, l’argument
strategydewp_enqueue_script()permet de préciser un chargementdeferouasynctout en conservant la résolution des dépendances. - Un handle mal orthographié dans la liste des dépendances ne provoque pas d’erreur visible : le script est simplement chargé sans respecter l’ordre attendu.
- La fonction
wp_scripts()permet d’inspecter à tout moment la file de dépendances déjà enregistrées, un outil de diagnostic utile quand un conflit de version est suspecté entre deux extensions.