|

WordPress : quelle différence entre « enqueue » et « register » ?

WordPress différence enqueue register

Dans WordPress, les termes « enqueue » et « register » se réfèrent à deux étapes différentes dans la gestion des scripts et des styles. Si vous manipulez le code de WordPress, c’est un concept important à comprendre.

Que ce soit pour changer les attributs des scripts afin d’améliorer les performances ou pour d’autres opérations, les concepts de Register et Enqueue vous seront toujours utile. Même si vous ne codez pas, on le retrouve également dans de nombreux plugins pour l’optimisation.

1. Register (enregistré)

Enregistrer (Register) un script ou un style signifie simplement informer WordPress qu’un script ou un style particulier existe et qu’il pourrait être utilisé plus tard. Cela n’entraîne pas son inclusion immédiate dans la page. Cette étape permet de définir les dépendances, la version, et la localisation du fichier (comme une URL).

Pour enregistrer un script ou un style, on utilise généralement les fonctions suivantes :

Exemple :

wp_register_script('mon-script', get_template_directory_uri() . '/js/mon-script.js', array('jquery'), '1.0.0', true);

Dans cet exemple, le script est enregistré mais il n’est pas encore inclus dans la page.

2. Enqueue (mis en file d’attente)

Mettre en file d’attente (enqueue) un script ou un style signifie non seulement qu’il est enregistré, mais qu’il sera également inclus dans la page lorsque WordPress génèrera la page. Mettre en file d’attente (enqueue) un script enregistre automatiquement le script s’il ne l’a pas été auparavant, et l’ajoute ensuite à la file d’attente pour être chargé dans le rendu final de la page.

Pour enquêter un script ou un style, on utilise les fonctions suivantes :

Exemple :

wp_enqueue_script('mon-script');

Dans cet exemple, le script « mon-script » sera inclus dans la page lors de son chargement. Si le script n’a pas été enregistré auparavant, wp_enqueue_script() l’enregistrera automatiquement.

Si un même script est plusieurs fois déclaré avec wp_enqueue_script, apparait-il plusieurs sur la page ?

Non, si un même script est mis plusieurs fois en file d’attente avec wp_enqueue_script, il n’apparaît qu’une seule fois sur la page.

WordPress utilise un système de gestion des scripts en file d’attente qui empêche le chargement multiple du même script. Quand vous appelez wp_enqueue_script(‘mon-script’) plusieurs fois, WordPress vérifie si le script a déjà été mis en file d’attente. Si c’est le cas, il ignore les appels suivants et s’assure que le script n’est inclus qu’une seule fois dans le code HTML final.

Cela permet d’éviter les doublons qui pourraient causer des conflits ou des problèmes de performance. Ce système est particulièrement utile lorsque plusieurs plugins ou thèmes tentent de charger le même script.

Exemple

Supposons que vous avez ce code :

wp_enqueue_script('mon-script', get_template_directory_uri() . '/js/mon-script.js', array('jquery'), '1.0.0', true);
wp_enqueue_script('mon-script', get_template_directory_uri() . '/js/mon-script.js', array('jquery'), '1.0.0', true);

Même si wp_enqueue_script est appelé deux fois avec le même handle (‘mon-script’), WordPress n’ajoutera le script qu’une seule fois dans la page.

En résumé, WordPress gère automatiquement les doublons lorsque vous mettez un script en file d’attente plusieurs fois, garantissant ainsi qu’il n’apparaît qu’une seule fois sur la page.

L’ajout de scripts dynamiques avec les blocks Gutenberg

Lorsqu’on utilise WordPress Gutenberg (l’éditeur de blocs), les fichiers JavaScript (JS) et CSS associés aux blocs sont généralement chargés sur une page uniquement si le bloc est effectivement utilisé sur cette page.

Ce comportement fait partie d’un effort pour optimiser les performances en chargeant uniquement les scripts et styles nécessaires aux blocs présents sur la page.

Lorsque vous manipulez la fonction wp_enqueue_script ou wp_enqueue_style, il est donc nécessaire d’avoir ce fonctionnement en tête. Cela afin de pas ajouter inutilement des scripts dans vos pages et donc de nuire aux performances globales.

Différence clé

  • Register : Le script ou le style est défini et prêt à être utilisé, mais il n’est pas encore inclus dans le rendu final de la page.
  • Enqueue : Le script ou le style est non seulement enregistré, mais également programmé pour être inclus dans le rendu final de la page.

En résumé, enregistrer un script est une préparation, tandis que le mettre en file d’attente (enqueue) assure qu’il sera réellement utilisé lors du chargement de la page.

Si vous appréciez nos articles, ne manquez les prochains en vous abonnant à Cosmo Games sur Google News, vous pouvez également nous suivre sur X (ex Twitter). N'hésitez pas à partager vos réactions, commentaires ou remarques dans les commentaires, afin d'enrichir le contenu, de mieux vous comprendre et intégrer les différents points de vue.

Publications similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *