vendredi 25 septembre 2026

À propos

Contact

Lexique · Extensions & API WordPress

Mise en file d’attente

En anglais : « Enqueue »

Méthode recommandée pour charger un fichier CSS ou JavaScript dans WordPress, qui gère automatiquement l'ordre, les dépendances et évite les doublons entre extensions.

Insérer directement une balise <script> dans un gabarit fonctionne, mais expose à charger deux fois le même fichier si une autre extension fait la même chose, ou à casser l’ordre attendu entre bibliothèques. WordPress propose donc une file d’attente centralisée que chaque composant alimente sans connaître les autres.

Les fonctions à utiliser

On enregistre puis on ajoute un fichier à la file avec wp_enqueue_script() pour le JavaScript et wp_enqueue_style() pour le CSS, toujours accrochées au bon hook selon le contexte d’affichage :

add_action( 'wp_enqueue_scripts', function () {
  wp_enqueue_style(
    'mon-style',
    plugins_url( 'css/style.css', __FILE__ ),
    array(),
    '1.0.0'
  );
} );

Le hook diffère selon le contexte : wp_enqueue_scripts pour le site public, admin_enqueue_scripts pour l’administration, et enqueue_block_editor_assets pour l’éditeur de blocs.

Pièges fréquents

  • Charger un script en dehors du bon hook, par exemple directement dans le corps du fichier principal de l’extension, provoque souvent un chargement sur toutes les pages ou à un moment inapproprié du cycle de vie.
  • Un numéro de version identique entre deux déploiements peut empêcher le navigateur de recharger un fichier modifié à cause du cache.
  • La fonction wp_localize_script() permet de transmettre des données PHP (une URL de l’API REST, un identifiant utilisateur) à un script déjà mis en file, sous forme d’une variable JavaScript globale.
  • Depuis WordPress 6.3, wp_enqueue_script_module() propose un chemin dédié aux modules ES natifs, avec un système de dépendances et d’importations distinct de celui des scripts classiques.