Un block theme WordPress è un tema costruito interamente con blocchi. Ogni template (header, footer, articolo, archivio, 404, ricerca) è memorizzato come file HTML nelle cartelle /templates e /parts del tema. L’intero sito può essere modificato visualmente nel Site Editor su /wp-admin/site-editor.php senza scrivere PHP. I block themes sono stati introdotti con WordPress 5.9 (gennaio 2022) e richiedono un file theme.json nella radice del tema che definisce gli stili globali (colori, tipografia, spaziature, layout) in JSON. Il primo block theme di default è stato Twenty Twenty Two (gennaio 2022), seguito da Twenty Twenty Three, Twenty Twenty Four e Twenty Twenty Five (gennaio 2025). Full Site Editing (FSE) è il termine ombrello per l’esperienza di modifica dei block themes: Site Editor, pannello stili globali, modifica template, template parts, blocco di Navigazione, blocco Query Loop e la directory di pattern su wordpress.org/patterns. I block themes coesistono con i temi classici (basati su PHP con header.php, footer.php, functions.php e Customizer). Entrambi funzionano su WordPress 6.x, ma lo sviluppo nuovo si è spostato sui block themes dal 2022.
Cosa è cambiato in WordPress 5.9 (gennaio 2022)?
- Il Site Editor sostituisce il Customizer per i block themes.
- I template sono file HTML con markup di blocchi, non PHP.
- Il nuovo file
theme.jsondefinisce gli stili globali. - Le aree widget sono sostituite da template parts e blocco di Navigazione.
- Il blocco Query Loop sostituisce i loop WP_Query personalizzati nella maggior parte dei casi.
Struttura dei file di un block theme
mio-tema/
style.css
theme.json
functions.php
templates/
index.html
single.html
page.html
archive.html
404.html
search.html
parts/
header.html
footer.html
sidebar.html
patterns/
hero.php
assets/
fonts/, images/, css/, js/Cosa controlla theme.json?
- settings.color.palette: la palette di colori.
- settings.typography.fontFamilies: famiglie di font con dichiarazioni font face incorporate. Da WordPress 6.5 (aprile 2024) la Font Library installa Google Fonts in locale.
- settings.spacing: preset di spaziatura.
- settings.layout: contentSize e wideSize.
- styles: stili predefiniti globali e per blocco.
- customTemplates: template aggiuntivi per l’editor delle pagine.
- templateParts: dichiara quali parts sono disponibili.
Block theme contro tema classico
| Aspetto | Tema classico | Block theme |
|---|---|---|
| Template | file PHP | file HTML con markup di blocchi |
| Personalizzazione | Customizer | Site Editor e stili globali |
| Menu | wp_nav_menu() | blocco di Navigazione |
| Widget | register_sidebar() | template parts e blocchi |
| Stili globali | CSS | theme.json |
| Modifica | editor di codice o Customizer | Site Editor visuale |
Temi ibridi e block template parts
Tra temi classici e block themes completi esistono temi ibridi che adottano il FSE per fasi: aggiungere theme.json, usare block_template_part() o includere template HTML in templates/ per rotte specifiche mantenendo il PHP per le altre.
Pattern e la directory dei pattern
I pattern sono layout di blocchi riutilizzabili. Da WordPress 6.0 (maggio 2022) i temi possono fornire pattern come file PHP in patterns/. La directory wordpress.org/patterns conta oltre 600 pattern della community. I synced pattern (ex Reusable Blocks, rinominati in WordPress 6.3 agosto 2023) memorizzano un’unica istanza aggiornata ovunque.
Block themes e prestazioni
- WordPress carica i fogli di stile solo per i blocchi effettivamente usati su una pagina (da WordPress 5.8 agosto 2021).
theme.jsongenera un blocco CSS inline per pagina (5 a 15 KB).- I blocchi di Navigazione e Query Loop sono renderizzati lato server.
- Twenty Twenty Four raggiunge ~99 su PageSpeed Mobile in installazione base.
Block themes popolari nel 2025
- Twenty Twenty Five: tema predefinito di WordPress 6.7 (novembre 2024).
- Twenty Twenty Four: tema universale di gennaio 2024.
- Blocksy, Kadence, Ollie, Frost, Spectra One, Inspiro.
Migrazione da un tema classico a un block theme
- Audit del tema classico.
- Scegli un block theme base o generane uno con
npx @wordpress/create-block-theme. - Sposta il design system in
theme.json. - Ricrea i template in
templates/. - Ricrea header e footer come template parts.
- Converti i loop PHP nel blocco Query Loop o in blocchi dinamici.
- Testa in staging.
Cosa controlla InspectWP
InspectWP rileva quale tema è attivo, inclusi i block themes, il tema padre e figlio e se il tema ha problemi di sicurezza noti. Il report segnala temi obsoleti, supporti mancanti e segnali come l’assenza di theme.json su WordPress 6.x che suggeriscono un tema classico.