Pourquoi l'inscription et la mise en file d'attente sont importantes
cela devrait être dans le temps - avant que le script / style ne soit disponible pour la sortie sur la page, sinon c'est trop tard;
il devrait être conditionnel - sinon, vous chargez des choses là où vous n'en avez pas besoin et vous causez des problèmes de performances et de fonctionnalité. Pour cela, vous avez besoin d'un environnement WP chargé à un stade avancé.
Les trois étapes du processus
register - cela explique les détails de WP sur le script / style et lui permet de stocker ces informations;
enqueue - (souvent regroupé avec enregistrer dans un wp_enqueue_*()
appel) - cela indique à WP d'ajouter des scripts / style à la file d'attente, en fonction de ses paramètres (dépendances, chargement de l'en-tête / du pied de page).
print - cela se produit lorsque WP traite la file d'attente, essaie de charger quelque chose de spécifique pour lui - même ou lorsque vous le faites explicitement avec wp_print_*()
function.
Structure frontale des fonctions et des crochets
wp_head()
wp_footer()
wp_footer
- (dix)
wp_print_footer_scripts()
Cela va beaucoup plus loin, mais c'est simple et suffisant pour des points importants:
wp_enqueue_scripts
est le hook le plus approprié pour l’inscription et la mise en file d’attente de scripts et de styles sur le front-end, et il existe spécifiquement pour cela;
init
cela n’a rien à voir avec cela, cela fonctionnera, mais - l’ ancienne recommandation du Codex de n’utiliser que ce n’était pas correct ;
vous pouvez vous en tirer avec des scripts en file d'attente (pas de styles) pour le pied de page à tout moment avant l' wp_print_footer_scripts()
appel;
wp_print_*
les hooks ne sont PAS appropriés pour register / queue , ce sont des points dans le code lorsque la sortie est déjà en cours. Ils conviennent à la sortie manuelle / personnalisée de script / style.
Qu'en est-il admin?
Eh bien, la fonctionnalité est encore plus complexe, complexe et imbriquée.
pour commencer, utilisez simplement admin_enqueue_scripts
hook (il est passé $hook_suffix
global pour les choses conditionnelles ) pour tout, ça ira très bien dans la plupart des cas;
Lorsque vous avez besoin de quelque chose de complexe - regardez à travers admin-header.php
et creusez à partir de là pour les crochets appropriés.
Qu'en est-il de la connexion?
Il y a un crochet spécifique nommé login_enqueue_scripts
.
admin_print_scripts-{xxx}
. J'ai trouvé queadmin_print_scripts
c'était appelé mais pas avec,-{xxx}
par exemple.-edit.php
par exemple. Quelle est la réponse correcte à cette mise en file d'attenteadmin_print_scripts-xxx
et que recommanderiez-vous à la place - supposons que je veuille inclure des scripts / styles dans une page d'ajout / de modification de type message personnalisé (pour metabox)*print*
crochets, à moins que vous ne sachiez vraiment pourquoi vous en avez besoin. Et globalement, ils sont à imprimer , pas à faire la queue .admin_enqueue_scripts
hooks transmet une$hook_suffix
variable identique à celle utilisée dans ces hooks dynamiques.$hook_suffix
ressemble à post.php dans ma page de modification du portefeuille, pourquoi? Je pensais que c’était aussi edit.php. Comment puis-je déterminer si je suis en train d’éditer / publier un portefeuille et non un article normal?add_*_page()
fonction), mais dans les écrans WP natifs, il peut s'agir de choses différentes.