@wordpress/blocks

Définition : @wordpress/blocks est le paquet JavaScript officiel qui contient les utilitaires d’enregistrement, de création, de transformation et d’inspection des types de blocs. Il agit sur les définitions et structures des blocs.

Comprendre et utiliser

À quoi cela sert ?

Ce paquet évite d’implémenter soi-même le registre des types de blocs. Ses fonctions aident à construire des instances et à interroger les définitions utilisées par l’éditeur.

Comment cela fonctionne ?

registerBlockType() ajoute un type, createBlock() construit une instance de bloc, getBlockType() recherche une définition et parse() interprète le contenu sérialisé côté JavaScript.

Dans quel contexte l’utiliser ?

Utile dans un plugin d’éditeur lorsqu’il faut personnaliser l’insertion ou convertir un contenu existant en blocs structurés.

Cas concret : ATOOLPHA

Un outil d’aide à la rédaction ATOOLPHA pourrait créer une instance de bloc Paragraphe avec un texte initial, puis laisser l’utilisateur décider de l’insérer.

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 { createBlock, getBlockType } = wp.blocks;
const paragraph = createBlock( 'core/paragraph', {
    content: 'Définition à vérifier',
} );
const registered = Boolean( getBlockType( 'core/paragraph' ) );
console.log( { registered, clientId: paragraph.clientId } );

Décryptage de l’exemple

createBlock() fabrique une instance en mémoire et n’insère pas à lui seul le bloc dans un article. getBlockType() vérifie la présence de la définition ; une action du magasin de données est nécessaire pour modifier l’éditeur.

Résultat attendu

L’objet construit contient un identifiant client et des attributs initiaux ; aucun article n’est sauvegardé par cet extrait.

Atelier pratique de vérification

Construire un objet de bloc Paragraphe avec createBlock() et inspecter son nom, ses attributs et son clientId. Constater qu’il n’apparaît pas encore dans l’article. Déclencher ensuite une insertion par l’API prévue de l’éditeur et observer la différence entre création en mémoire et modification du document.

Précautions et limites

Ne pas confondre création d’un objet JS et modification effective du contenu de l’éditeur. Les actions d’insertion passent généralement par @wordpress/data et le magasin core/block-editor.

Contrôle avant intégration dans un plugin

Vérifier l’existence du type ciblé avant de construire une instance. Ne jamais considérer createBlock() comme une écriture en base ; réserver cette action aux commandes explicites de l’éditeur et respecter les permissions du document.

À ne pas confondre

@wordpress/blocks gère les définitions et instances ; @wordpress/block-editor fournit les composants et hooks d’interface d’édition.

Diagnostic et dépannage avancés

Lorsque createBlock() produit un bloc invisible, vérifier ensuite l’appel réel d’insertion et la disponibilité du type dans le registre actif.

Notions associées

  • @wordpress/block-editor
  • @wordpress/data
  • registerBlockType()

Références officielles

Bouton retour en haut de la page