vendredi 25 septembre 2026

À propos

Contact

Lexique · Éditeur de blocs

Contexte de bloc

En anglais : « Block context »

Le contexte de bloc transmet automatiquement une information d'un bloc parent vers ses blocs enfants, comme l'identifiant de l'article courant, sans passer par un attribut classique.

Un bloc Titre de l’article, placé dans une Boucle de requête, doit afficher un titre différent selon l’article en cours de la boucle, sans qu’aucun réglage manuel n’ait été fait bloc par bloc. Ce genre de situation exige un canal de communication invisible entre un bloc parent et ses blocs enfants : c’est le contexte de bloc, un mécanisme qui transmet automatiquement une valeur (identifiant d’article, requête, niveau d’imbrication) à tous les descendants qui déclarent vouloir la recevoir.

Fonctionnement dans WordPress

Un bloc parent fournit une valeur de contexte via la clé providesContext de son block.json, en associant un nom de contexte (par exemple postType) à l’un de ses attributs. Un bloc enfant déclare, lui, dans usesContext, les noms de contexte qu’il souhaite recevoir, disponibles ensuite dans sa fonction edit via une prop dédiée, sans qu’aucun attribut explicite n’ait besoin d’être transmis manuellement à chaque insertion.

Exemple

// block.json du parent (Boucle de requête)
"providesContext": { "postType": "query/postType" }

// block.json de l'enfant (Titre de l'article)
"usesContext": [ "postType", "postId" ]

Bon à savoir

  • Le contexte ne circule que du parent vers ses descendants, jamais dans l’autre sens ni entre blocs frères sans parent commun.
  • Il ne remplace pas les attributs : il sert à transmettre une information partagée par la structure environnante, alors que l’attribut reste la donnée propre au bloc lui-même.
  • Un bloc mal configuré qui déclare un usesContext mais s’utilise hors de tout parent fournisseur reçoit simplement une valeur vide ou indéfinie, sans erreur explicite, ce qui peut compliquer le débogage.