enqueue_block_editor_assets (hook)

Définition : enqueue_block_editor_assets est une action WordPress utilisée pour charger des scripts ou styles propres à l’interface de l’éditeur de blocs. Elle concerne les ressources de l’administration, pas automatiquement celles du site public.

Comprendre et utiliser

À quoi cela sert ?

Ce hook permet d’étendre l’éditeur sans charger les mêmes ressources sur chaque page front-end. Il peut servir à ajouter un panneau, un filtre ou des outils d’édition.

Comment cela fonctionne ?

L’action déclenche un callback PHP dans lequel on peut appeler wp_enqueue_script() ou wp_enqueue_style() avec les dépendances adaptées. Les blocs avec block.json préfèrent souvent la déclaration de leurs assets dans les métadonnées.

Dans quel contexte l’utiliser ?

À employer pour une extension de l’interface de l’éditeur qui n’est pas directement un script déclaré par un type de bloc.

Cas concret : ATOOLPHA

ATOOLPHA ajoute un script de vérification éditoriale à l’écran de rédaction, sans charger ce script sur les pages publiques du lexique.

Exemple de code commenté

Extrait documentaire : le contexte WordPress du plugin/éditeur et les dépendances décrites sont nécessaires ; ne pas coller dans le contenu d’une page.

<?php
add_action( 'enqueue_block_editor_assets', function () {
    $url = plugin_dir_url( __FILE__ ) . 'editor-helper.js';
    wp_enqueue_script(
        'atoolpha-editor-helper', $url,
        array( 'wp-element', 'wp-data' ), '1.0.0', true
    );
} );

Décryptage de l’exemple

La dépendance wp-element et wp-data garantit l’ordre de chargement des bibliothèques déclarées. Le fichier editor-helper.js doit réellement exister dans le plugin et être compatible avec le navigateur cible.

Résultat attendu

Lorsque l’éditeur se charge, le script déclaré peut s’exécuter dans son contexte ; les pages publiques n’ont pas à charger ce même asset par défaut.

Atelier pratique de vérification

Charger un petit script de diagnostic dans l’interface de l’éditeur et confirmer sa présence dans l’onglet Réseau du navigateur. Ouvrir ensuite une page publique et vérifier qu’il n’y est pas chargé. Tester les dépendances déclarées, les environnements iframe et la différence avec enqueue_block_assets pour les styles du contenu.

Précautions et limites

Éviter d’utiliser ce hook pour les styles qui doivent aussi exister côté public. Prendre en compte l’éditeur en iframe et la séparation entre interface et contenu édité.

Contrôle avant intégration dans un plugin

Vérifier les dépendances du script, son chargement uniquement dans l’interface ciblée et la compatibilité iframe. Pour les styles du contenu, documenter plutôt les mécanismes appropriés au front-end et à l’éditeur.

À ne pas confondre

enqueue_block_editor_assets charge des ressources de l’interface ; wp_enqueue_scripts concerne les ressources du site public et les métadonnées block.json peuvent gérer les assets d’un bloc.

Diagnostic et dépannage avancés

Si le script est chargé mais ne trouve pas une API wp.*, inspecter les dépendances déclarées et l’environnement d’édition plutôt que d’introduire des temporisateurs arbitraires.

Notions associées

  • @wordpress/data
  • block.json
  • wp_enqueue_scripts

Références officielles

Bouton retour en haut de la page