Attributs de bloc
Définition : Les attributs d’un bloc sont les valeurs structurées qui définissent son contenu et ses options propres à chaque instance. Ils peuvent être enregistrés dans les délimiteurs ou extraits du HTML.
Comprendre et utiliser
À quoi cela sert ?
Ils constituent le contrat de données du bloc. Grâce à eux, le même type de bloc peut afficher des messages, choix visuels ou ressources différents selon chaque publication.
Comment cela fonctionne ?
Chaque attribut possède un type, éventuellement une valeur par défaut, une liste de valeurs autorisées ou une source. setAttributes() modifie ces données pendant l’édition.
Dans quel contexte l’utiliser ?
Définir explicitement les attributs avant d’implémenter les contrôles éditoriaux, afin de maîtriser les formats sauvegardés et les migrations.
Cas concret : ATOOLPHA
Un bloc ATOOLPHA « Avertissement » stocke un niveau d’importance et un texte, ce qui permet au rédacteur de changer le contenu sans toucher au code.
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.
{"attributes":{"level":{"type":"string","enum":["info","warning"],"default":"info"},"message":{"type":"string","default":""}}}
Décryptage de l’exemple
level est limité à deux valeurs ; message accepte une chaîne. Sans source déclarée, ces valeurs sont généralement sérialisées dans le commentaire du bloc plutôt que lues depuis un sélecteur HTML.
Résultat attendu
Le bloc dispose d’un contrat de données prévisible pour les composants edit/save ou pour le rendu serveur.
Atelier pratique de vérification
Créer un bloc de test avec un attribut string puis envoyer volontairement une valeur numérique depuis l’interface. Observer les éventuels avertissements, corriger le type et recharger le contenu. Ajouter une valeur enum et vérifier qu’un réglage invalide est bloqué avant sa persistance.
Précautions et limites
La validation du type côté éditeur ne dispense pas de contrôler les données côté serveur. Pour un rendu PHP, vérifier les types et échapper chaque sortie selon son contexte.
Contrôle avant intégration dans un plugin
Définir pour chaque donnée une source, un type et éventuellement une valeur de repli. Faire vérifier par le serveur toute valeur susceptible de modifier un résultat public ou un comportement sensible.
À ne pas confondre
Un attribut de bloc appartient à l’instance du bloc ; une métadonnée de publication appartient au post et suit un autre cycle de persistance.
Diagnostic et dépannage avancés
Si une propriété revient à sa valeur par défaut, vérifier son nom, son type exact et la manière dont save et la source la sérialisent.
Notions associées
- Sources d’attributs de bloc
- save (fonction de bloc)
- Block Bindings API
