# Mise en file d’attente

> 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.

- Auteur : Clément Hadrot
- Publié le : 2026-09-25
- Mis à jour le : 2026-09-25
- URL : https://wpmoderne.dev.wordpress-developpement.fr/lexique/mise-en-file-attente/

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.
