WordPress 6.5 (aprile 2024) ha portato una API che attendevamo da quando esiste il block editor: Block Bindings. Permette di collegare un blocco nativo (paragrafo, immagine, button) a una sorgente dati esterna — post meta, ACF, custom — senza scrivere blocchi custom in PHP.
Il problema che risolve
Nel mondo Gutenberg, se volevi che un paragrafo mostrasse un campo custom (es. "prezzo unitario"), dovevi scrivere un blocco dedicato. Ogni campo, un blocco. Risultato: progetti con 30 blocchi custom mantenuti da nessuno.
Come funziona
Marchi un blocco con un binding:
<!-- wp:paragraph {
"metadata": { "bindings": { "content": { "source": "core/post-meta", "args": { "key": "prezzo" } } } }
} -->
<p>Prezzo placeholder</p>
<!-- /wp:paragraph -->
Il paragrafo legge il valore di prezzo dal post meta. L'editor lo vede live, il frontend lo renderizza.
Sorgenti supportate
- core/post-meta: post meta nativi.
- ACF: registra le sue source automaticamente da ACF 6.2+.
- Custom: registri le tue source via PHP con
register_block_bindings_source.
Cosa abbiamo fatto subito
Su un cliente immobiliare siamo passati da 14 blocchi custom (uno per ogni campo della scheda immobile) a 0. I redattori usano i blocchi nativi e collegano con un menu, e quando aggiungiamo un campo nuovo non serve toccare il tema.
Limiti attuali
- Solo alcuni blocchi sono "bindable" (paragraph, heading, image, button). Per gli altri serve aspettare.
- Editing in-line dei valori dal block editor non è ancora completo: alcune source sono read-only.
- L'UX di collegamento è ancora un po' tecnica per redattori puri (oggi è meglio per chi conosce un minimo di custom fields).
È il tipo di cambiamento che avrebbe risparmiato anni di lavoro se fosse arrivato nel 2019. Meglio tardi che mai.