registerBlockType()

Définition : registerBlockType() est la fonction JavaScript du paquet @wordpress/blocks qui enregistre un type de bloc pour l’éditeur. Elle lui associe notamment les composants responsables de l’édition et du contenu sauvegardé.

Comprendre et utiliser

À quoi cela sert ?

Elle permet à l’inserteur de reconnaître le bloc, à l’utilisateur d’en modifier les données et au moteur de validation de connaître le résultat attendu pour un bloc statique.

Comment cela fonctionne ?

La fonction reçoit un nom unique ou des métadonnées, puis des réglages comprenant edit et éventuellement save. L’enregistrement côté PHP à partir de block.json reste la voie recommandée pour les nouveaux blocs.

Dans quel contexte l’utiliser ?

L’utiliser dans le script compilé de l’éditeur, après avoir déclaré le bloc dans block.json et configuré les dépendances @wordpress nécessaires.

Cas concret : ATOOLPHA

Déclarer un bloc ATOOLPHA « Signature » affichant un texte stable dans l’éditeur et sur la page, avant d’ajouter des attributs modifiables.

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.

const { registerBlockType } = wp.blocks;
const { createElement } = wp.element;
registerBlockType( 'atoolpha/signature', {
    title: 'Signature',
    category: 'text',
    edit: () => createElement( 'p', {}, 'Éditer la signature' ),
    save: () => createElement( 'p', {}, 'Signature ATOOLPHA' ),
} );

Décryptage de l’exemple

L’extrait illustre la forme de l’API lorsque wp.blocks et wp.element sont disponibles. Dans un véritable plugin, il faut enregistrer le script correctement et, idéalement, centraliser les métadonnées dans block.json.

Résultat attendu

Une fois les scripts chargés et le bloc également enregistré côté serveur, l’éditeur peut proposer ce type dans l’inserteur.

Atelier pratique de vérification

Vérifier qu’un type de bloc personnalisé apparaît dans l’inserteur après chargement de son script. Simuler ensuite un chargement dupliqué du même nom depuis une seconde extension de test. Identifier le message de conflit, supprimer la double déclaration et vérifier le comportement sans altérer les publications existantes.

Précautions et limites

Ne pas placer ce JavaScript dans le contenu d’un article. Le code appartient aux assets du bloc et les dépendances doivent être déclarées pour garantir leur ordre de chargement.

Contrôle avant intégration dans un plugin

Distinguer le registre JavaScript du registre PHP. Exiger une build reproductible, des dépendances explicites et une vérification des erreurs de console avant de déclarer le bloc prêt pour la production.

À ne pas confondre

registerBlockType() configure le comportement dans l’éditeur ; register_block_type() enregistre le type auprès du Core côté PHP.

Diagnostic et dépannage avancés

Si un message indique que le type est déjà enregistré, rechercher une seconde registration portant le même namespace/nom dans les scripts compilés ou extensions actives.

Notions associées

  • register_block_type()
  • @wordpress/blocks
  • edit (fonction de bloc)

Références officielles

Bouton retour en haut de la page