web-dev-qa-db-fra.com

wp_enqueue_script: comment changer l'ordre de chargement des scripts?

J'aimerais savoir comment répertorier tous les scripts chargés sur une page, classés par ordre et modifier cet ordre.

6
Matoeil

Quand vous regardez la source de wp_enqueue_scripts() (ou du registre-sister), vous verrez qu'il y a le global $wp_scripts qui gère tout ce qui est lourd.

Fondamentalement, le global est juste une instance de WP_Scripts, qui est un enfant de WP_Dependency et vous pouvez utiliser toute la magie à partir de là s'il n'y a pas d'API de niveau supérieur disponible.

Pour voir tous les scripts enregistrés, mis en file d'attente, etc., simplement

var_dump( $GLOBALS['wp_scripts']->registered );

ou faire la même chose avec enqueue. Heureusement, vous avez un argument pour trier vos données: dependencies. Donc, si vous voulez qu'un seul script soit chargé après que jQuery ait été chargé, ajoutez simplement une dépendance de array( 'jquery' ) lors de l'enregistrement ou de la mise en file d'attente de votre script. C'est ainsi que vous les commandez dans WordPress: Rendez-les dépendants les uns des autres. Btw, le nom de dépendance always est simplement le nom avec lequel il a été enregistré, appelé "descripteur".

7
kaiser