Variations de blocs (Block Variations)

Définition : Les variations de blocs sont des configurations prédéfinies d’un même type de bloc. Elles peuvent initialiser ses attributs et blocs enfants pour offrir plusieurs usages sans créer de nouveau type.

Comprendre et utiliser

À quoi cela sert ?

Cette API accélère la saisie de contenus récurrents tout en gardant un mécanisme commun de rendu et de maintenance. Les variations peuvent apparaître dans l’inserteur selon leur configuration.

Comment cela fonctionne ?

Une variation déclare généralement name, title et attributes ; elle peut aussi définir innerBlocks. L’instance créée reste une instance du type de bloc original.

Dans quel contexte l’utiliser ?

Utile quand plusieurs blocs partagent strictement le même comportement mais se distinguent par leur état initial, par exemple différentes sortes d’alertes.

Cas concret : ATOOLPHA

ATOOLPHA propose une variation du bloc Groupe avec une classe propre à un encadré pédagogique, sans développer un nouveau conteneur.

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 { registerBlockVariation } = wp.blocks;
registerBlockVariation( 'core/group', {
    name: 'atoolpha-teaching-box',
    title: 'Encadré pédagogique',
    attributes: { className: 'atoolpha-teaching-box' },
    innerBlocks: [
        [ 'core/heading', { level: 3 } ],
        [ 'core/paragraph', {} ],
    ],
} );

Décryptage de l’exemple

La variation réutilise le type core/group et prépare son contenu initial. Elle suppose que le script soit chargé correctement dans l’éditeur et que les types enfants soient disponibles.

Résultat attendu

Dans l’inserteur, la variation peut être proposée ; le bloc créé conserve la structure du Groupe et ses enfants initiaux restent modifiables.

Atelier pratique de vérification

Créer une variation du Groupe avec titre et paragraphe initiaux. L’insérer deux fois et modifier seulement le premier exemplaire. Vérifier que chaque instance conserve sa propre copie du contenu. Contrôler également la disponibilité du type de bloc d’origine en l’absence de la variation.

Précautions et limites

Ne pas créer une variation si le comportement éditorial doit être fondamentalement différent : un type de bloc propre peut être nécessaire. Vérifier les styles dans le thème.

Contrôle avant intégration dans un plugin

Vérifier l’effet d’une insertion répétée et le comportement après désactivation de la variation. Une variation doit conserver les données essentielles du type d’origine et ne pas devenir une dépendance opaque.

À ne pas confondre

Une variation préconfigure des attributs et enfants ; un style ne change que la présentation ; un pattern insère un assemblage éditorial souvent plus libre.

Diagnostic et dépannage avancés

Si l’inserteur n’affiche pas la variation, vérifier les réglages d’insertion, le nom enregistré, les conditions isActive éventuelles et le chargement du script.

Notions associées

  • Styles de blocs (Block Styles)
  • Compositions de blocs (Block Patterns)
  • Block Supports

Références officielles

Bouton retour en haut de la page