WordPress est livré avec un tas de scripts par défaut que vous pouvez utiliser pour alimenter vos thèmes et plugins. jQuery est le script couramment utilisé, tout comme TinyMCE. Mais que faire si vous souhaitez intégrer votre propre script jQuery ?
Nous avons récemment montré comment ajouter des scripts jQuery correctement à votre installation. WordPress utilise le même mécanisme interne, ce qui signifie que nous pouvons supprimer ou même remplacer les scripts en file d’attente avec nos propres scripts.
Dans ce tutoriel, je vais vous montrer comment « désenregistrer » les scripts existants afin que vous puissiez ajouter vos propres scripts. Nous allons également votre présenter les différentes circonstances dans lesquelles vous pouvez le faire et vous dire pourquoi certaines personnes penses que retirer un script interne est irresponsable.
Pourquoi modifier les scripts interne : Cas de jQuery ?
Il y a un éventail de scénarios où vous voudrez peut-être modifier les scripts internes chargés. Par exemple, WordPress utilise actuellement jQuery 1.11.3 par défaut, cependant, la dernière version est en fait 1.12.3 ou 2.2.3. Si vous écrivez une application qui repose sur une fonctionnalité de jQuery avancée, vous pourriez avoir besoin d’utiliser une version plus récente du script.
J’ai également fait face à une situation où un ancien plugin a été à l’origine des problèmes avec les scripts obsolètes. Dans ce cas, un client comptait sur un plugin, mais le script chargé n’était pas effectivement utilisé. Nous avons pensé que le retirer était la meilleure option, mais au lieu de modifier directement le code du plugin, ce qui aurait empêché les mises à jour futures, nous avons décidé d’utiliser un nouveau plugin pour modifier les scripts chargés.
Il est important de noter que s’il y a des cas légitimes où vous pouvez enlever et changer les scripts chargés par le noyau de WordPress et d’autres plugins ou thèmes, vous devez toujours y penser à deux fois et procéder avec prudence.
Si vous forcez une nouvelle version de jQuery sur votre site Web, par exemple, il peut causer des problèmes imprévus de compatibilité. Vous devriez toujours tester localement WordPress si possible, et éviter de modifier/retirer des scripts, sauf si cela est absolument nécessaire.
Comment faire pour modifier les scripts
Grâce à la magie de WordPress, vous pouvez modifier tout script intégré à votre thème ou même créer un plugin pour le faire pour vous. Cela signifie que vous ne devez pas (et ne devrez pas !) Modifier le code original qui charge le script incriminé. Permettez-moi de vous donner quelques exemples.
Disons que votre thème utilise un script que vous souhaitez supprimer ou remplacer. Dans ce cas, vous pouvez créer un thème enfant et charger le code requis.
Si vous souhaitez modifier les scripts qui proviennent dans les plugins, vous pouvez soit faire les changements nécessaires dans votre thème enfant ou dans un nouveau plugin. En fonction de la portée du projet, je recommande la création d’un plugin spécifiquement pour modifier les scripts d’autres plugins.
Si vous souhaitez modifier un script de base de WordPress, il est préférable de le faire dans le produit que vous écrivez. Si vous travaillez avec un plugin vous devriez le faire sur ce dernier, si c’est un thème, vous devez le faire sur le fichier functions.php.
Le « désenregistrement » de Scripts
Si vous ne l’avez pas déjà vérifié le précédent tutoriel sur la façon d’ajouter correctement un script sur WordPress, vous pouvez le faire maintenant et revenir. Nous avons vu que la méthode d’ajout de scripts sur WordPress est l’enregistrement de ces derniers. Leur suppression est, naturellement, le processus inverse, ce qui signifie « désenregistrement » ou plutôt la désinscription. C’est fait en utilisant la fonction wp_deregister_script () comme ceci:
wp_deregister_script ( ‘jquery’);
Le seul paramètre dont vous avez besoin ici est l’espace nom du script. L’espace nom est donnée lorsque le script a été enregistré et vous pouvez lire sur mon post sur l’ajout de jQuery pour WordPress pour des informations plus détaillées.
Utiliser le code ci-dessus va complètement supprimer le script jQuery.
Remplacement de Scripts
Si vous voulez remplacer un script, il est ne suffit pas de simplement de l’enregistrer avec de nouveaux paramètres (ceux-ci seront ignorés). Vous devez désinscrire et puis réenregistrer le script. Voici un exemple rapide :
function my_enqueued_assets() { wp_deregister_script( 'jquery' ); wp_enqueue_script( 'script-name', '//code.jquery.com/jquery-2.2.3.min.js', array(), '2.2.3' ); } add_action( 'wp_enqueue_scripts', 'my_enqueued_assets' );
Trouver des scripts enregistrés
Si vous êtes à la recherche de tous les scripts que WordPress enregistre, vous avez de la chance. Jetez un œil à la documentation wp_enqueue_scripts et vous trouverez un tableau à portée de main.
Trouver des scripts enregistrés par les plugins, cependant, est un peu plus difficile. Vous pouvez lister tous les scripts en file d’attente par le dumping du contenu de la variable $wp_scripts.
global $wp_scripts; echo '<pre>'; var_dump( $wp_scripts ); echo '</pre>';
Une autre méthode que j’utilise est de rechercher wp_enqueue_scripts dans mon répertoire de plugins. Cela me permet de voir quel plugin est responsable de quel script sur mon site.
Pourquoi Remplacement Scripts n’est pas toujours une bonne idée
Alors que certains développeurs de thèmes et plugins pourraient trouver absolument nécessaire de charger leurs propres scripts, et en particulier une version différente de jQuery, il y a une certaine controverse dans la communauté WordPress sur le fait de savoir s’il est réellement approprié de le faire.
Avec le fait que WordPress charge jQuery en mode noConflict, il y a très peu de chance qu’il y ait un conflit, et par conséquent les thèmes ne devraient pas modifier le comportement de WordPress, et surtout WordPress met à jour la version embarquée de jQuery régulièrement.
Pour se résumer
Durant le retrait ou le remplacement de scripts, chose que vous ne devez pas faire tous les jours, il est important de savoir comment le faire correctement de sorte que lorsque vous êtes confronté à une situation où c’est nécessaire, vous pouvez le faire sans soucis et sans « briser » votre blog.
En procédant à la désinscription de scripts via un plugin personnalisé, vous vous assurez de ne pas modifier le code source de WordPress ou d’un thème dont vous n’êtes pas l’auteur, ce qui vous permettra de garder votre code en sécurité lors des mises à jour.