vendredi 25 septembre 2026

À propos

Contact

Lexique · Extensions & API WordPress

Registre de blocs

En anglais : « Block registry »

Liste centrale, tenue à la fois en PHP et en JavaScript, de tous les blocs disponibles dans l'éditeur ainsi que de leurs métadonnées associées.

Avant qu’un bloc n’apparaisse dans le menu d’insertion de l’éditeur, WordPress doit savoir qu’il existe, quel nom il porte, quelle icône l’accompagne et quels attributs il accepte. C’est ce référentiel partagé qui centralise toutes ces informations.

Deux registres qui se répondent

Côté PHP, un bloc est ajouté au registre du serveur avec register_block_type(), qui lit typiquement un fichier block.json. Côté JavaScript, la fonction équivalente de la bibliothèque @wordpress/blocks inscrit le bloc dans le registre de l’éditeur :

import { registerBlockType } from '@wordpress/blocks';
import metadata from './block.json';

registerBlockType( metadata.name, {
  edit: () => <p>Aperçu dans l'éditeur</p>,
  save: () => <p>Contenu enregistré</p>,
} );

Le fichier block.json agit comme source commune entre les deux mondes, évitant de dupliquer manuellement le nom, la catégorie ou les attributs à deux endroits différents du code.

Bon à savoir

  • La fonction get_dynamic_block_names() permet d’interroger côté PHP la liste des blocs enregistrés comme dynamiques, utile pour du débogage.
  • Un bloc absent du registre JavaScript mais présent côté PHP s’affiche dans l’éditeur comme un bloc « non reconnu », même si son rendu public fonctionne normalement.
  • La fonction unregister_block_type() retire un bloc du registre côté serveur, une opération parfois utilisée pour masquer un bloc du cœur jugé indésirable sur un site donné.
  • Retirer un bloc du registre alors que du contenu existant l’utilise déjà ne supprime rien en base : l’éditeur affiche simplement ce contenu comme un bloc non reconnu à la prochaine ouverture.