le wp_enqueue_script
function est la meilleure solution pour charger des fichiers JavaScript dans votre site WordPress. Si vous développez un thème qui utilise JavaScript ou des bibliothèques JavaScript, la wp_enqueue_script
la fonction est la voie à suivre. Cependant, si vous ne l'avez pas vraiment utilisé auparavant, il peut y avoir confusion ... alors aujourd'hui, nous allons examiner de manière approfondie comment charger correctement les scripts dans votre thème ou plug-in à l'aide de la fonction de mise en file d'attente.
Certains aspects des applications ou techniques utilisées dans ce tutoriel ont changé depuis sa publication initiale. Cela pourrait le rendre un peu difficile à suivre. Nous vous recommandons de consulter ces didacticiels plus récents sur le même sujet:
Si vous venez d'un arrière-plan HTML de base, vous avez probablement l'habitude de charger simplement des fichiers Javascript (y compris des scripts allant de jQuery aux scripts de plug-in) directement dans l'en-tête ou le pied de page de votre document. C’est bien lorsque vous vous trouvez dans un environnement autonome tel qu’une page HTML de base… mais une fois que vous avez présenté la multitude d’autres scripts susceptibles de s’exécuter sur une installation WordPress, il devient plus difficile de faire ce que j’appellerai "gestion de la foule" avec votre des scripts.
Alors pourquoi ne pas charger votre JavaScript dans l'en-tête ou le pied de page? La réponse est assez simple: en incluant votre code JavaScript comme cela, vous courez le risque d'avoir des conflits avec votre code JavaScript tout au long de votre installation (par exemple, plusieurs plug-ins essayant de charger les mêmes scripts ou différentes versions de ce script). De plus, votre JavaScript se chargera sur chaque page, même si vous n'en avez pas besoin. Cela entraînerait un temps de chargement inutilement plus long pour vos pages et pourrait interférer avec d'autres scripts JavaScript, comme à partir d'un plugin ou dans le tableau de bord… et c'est un développement Non dans WP.
En utilisant le wp_enqueue_script
une fonction. Vous aurez un meilleur contrôle avec comment et quand vous chargez votre JavaScript. Vous pouvez même décider de charger dans l'en-tête ou le pied de page.
le wp_enqueue_script
fonction est ce qui charge les scripts dans votre site WordPress. Vous allez généralement l'utiliser dans votre functions.php
fichier.
le wp_enqueue_script
la fonction elle-même est assez simple, regardons donc sa structure.
wp_enqueue_script ($ handle, $ src, $ deps, $ ver, $ in_footer);
$ handle
content_url
, bloginfo ("template_url")
, ou get_template_directory_uri ()
(recommandé par la référence de fonction WordPress) pour les thèmes, et plugins_url
pour les plugins. $ deps
$ ver
$ in_footer
Comme vous pouvez le voir, tous les paramètres sauf $ handle
sont facultatifs. À première vue, cela peut sembler étrange. En particulier le $ scr
paramètre. Comment WordPress peut-il localiser le script sans une URL?
La raison en est que WordPress est livré avec des scripts intégrés. Par exemple, jQuery fait partie du noyau de WordPress, et l’équipe de développement de WordPress a rendu très simple le chargement de ces scripts intégrés. Tout ce que vous avez à faire est de passer la poignée du script à wp_enqueue_script
.
Pour la liste complète des scripts WordPress intégrés et de leurs poignées. Consultez la référence des fonctions WordPress.
Maintenant que vous comprenez les parties de wp_enqueue_script
. Voyons comment vous utilisez cela avec votre thème WordPress.
Il existe d’autres fonctions WordPress que vous devez connaître avant de pouvoir commencer à écrire correctement les scripts..
wp_register_script
wp_register_script
Cette fonction est utilisée pour enregistrer votre script avec WordPress. Qu'est-ce que cela signifie, vous pourrez utiliser wp_enqueue_script
pour vos scripts, tout comme les scripts intégrés fournis avec WordPresswp_register_script
est exactement le même que le wp_enqueue_script
structure, donc je ne vais pas y revenir. Vous pouvez référencer la section ci-dessus si nécessaire.wp_register_script
comme vous le feriez pour wp_enqueue_script
. Puis mettez le script en file d'attente avec wp_enqueue_script
en passant le manche. wp_deregister_script
wp_deregister_script
supprime un script enregistré.wp_deregister_script
wp_dequeue_script
supprime un script enregistré.Le moyen le plus simple de charger votre script est de placer le wp_enqueue_script
où vous le voulez sur votre page.
Assez facile, mais pas trop élégant. Un meilleur moyen consiste à utiliser votre fichier function.php pour charger vos scripts. Pour ce faire, vous devez créer une fonction personnalisée. Puis utiliser add_action
pour initialiser votre fonction.
load_my_scripts
myscript
myscript
load_my_scripts
Le script que nous venons de charger nécessite l'exécution de la version actuelle de jQuery. Nous allons donc désenregistrer la version par défaut fournie avec WordPress et ajouter la nouvelle version à notre fonction..
myscript
OK, les bonnes pratiques de codage WordPress nous imposent de vérifier si une fonction existe avant de l'exécuter. Ceci est accompli comme ça.
Ceci vérifie si votre fonction existe déjà. Si ce n’est pas le cas, il exécutera votre fonction..
Ajoutons ceci à notre load_my_scripts
une fonction
Maintenant, si vous allez sur votre page d’administration, vous ne voulez pas que votre script soit chargé. Cela pourrait provoquer un conflit et casser la page d'administration. Une règle générale est que vous ne voulez pas que vos scripts personnalisés soient chargés dans la page d'administration. Scripts pour les plugins est une histoire différente. Je reviendrai plus tard.
Nous allons vérifier si la page chargée est ne pas la page d'administration avec! is_admin (). Si ce n'est pas le cas, nos scripts seront chargés.
Maintenant, la fonction ressemble à ceci.
Voilà. Un beau modèle à utiliser pour mettre en file d'attente les scripts
OK, maintenant que tu as compris ça. Ajoutons un script qui ne se chargera que sur la page d'administration de votre plugin.
C'est en fait très simple. Il suffit d’écrire votre fonction de script exactement comme nous l’avons fait dans la section précédente du fichier de votre plugin. Seulement maintenant, au lieu d'utiliser 'init' dans add_action, utilisez 'admin_init'.
Ça y est, votre script ne se chargera que lorsque vous accéderez à la page d'administration de votre plugin.
J'espère que cela vous aidera à mieux comprendre Scripts de mise en file d'attente dans WordPress, vous pouvez donc maintenant y aller et charger des scripts de votre choix!
S'il y a quelque chose que vous ne comprenez pas ou ne voudriez pas lire. Je recommande de visiter le WordPress Codex. Voici une liste d’autres liens pertinents pour le codex: