
🧩 Tema child WordPress: una guida completa per creare e personalizzare
Hai installato un tema, rifinito il sito, regolato colori e font, aggiunto un paio di template personalizzati. Poi arriva un aggiornamento del tema e cancella tutto. Ti suona familiare?
Un tema child in WordPress è il meccanismo che separa le tue personalizzazioni dal codice dello sviluppatore. Modifichi quello che vuoi e il tema padre si aggiorna senza conseguenze. Sembra magia, ma dietro c'è solo una riga nel style.css.
In questa guida, dal concetto a un tema child funzionante: perché ti serve, come crearlo manualmente, come fare l'enqueue degli stili e del functions.php e cosa fare se qualcosa va storto. Niente fronzoli, solo snippet testati.
💡 Panoramica rapida:
- Crea una cartella per il tema child in
/wp-content/themes/, qualsiasi nome va bene, ad esempiomytheme-child - Aggiungi
style.csscon un'intestazione del tema e una rigaTemplate:che punti alla cartella del tema padre - Carica gli stili del padre tramite
functions.php, usando la funzionewp_enqueue_style()sull'hookwp_enqueue_scripts - Copia qualsiasi file di template dal tema padre nel tema child e modificalo senza paura degli aggiornamenti
- Tutto il resto (functions.php, campi personalizzati, nuovi template) può essere esteso senza toccare il tema padre
Cos'è un tema child di WordPress
Un tema child è un tema WordPress che eredita tutte le funzionalità, gli stili e i template da un altro tema. Quello da cui eredita è chiamato tema padre. Un tema child da solo può essere composto anche solo da un file style.css e funzionare perfettamente.

Il meccanismo di ereditarietà è semplice. Quando WordPress carica una pagina, cerca prima il file di template richiesto nel tema child. Se lo trova, usa quel file. Se non lo trova, prende il file dal tema padre. Ecco perché puoi sovrascrivere solo ciò che vuoi cambiare e tutto il resto verrà automaticamente dal tema padre.
L'elemento chiave senza il quale un tema child non può esistere è la riga Template: nell'intestazione del style.css. Punta al nome della cartella del tema padre (ad esempio, twentytwentyfour) e crea la relazione padre-figlio. La riga deve corrispondere esattamente al nome della cartella del tema padre, incluse le maiuscole e minuscole.
Il tema padre può essere QUALSIASI tema WordPress installato, dal predefinito Twenty Twenty-Five a un tema commerciale come Total o Kadence. Il tema child "prende in prestito" i suoi file e le sue funzioni, ma non li copia fisicamente.
Perché ti serve un tema child: 4 motivi
Potresti saltare tutto questo e modificare direttamente il tema padre. Molti lo fanno. Ma ecco cosa succede dopo.
Aggiornamenti sicuri
Lo sviluppatore del tema padre rilascia un aggiornamento e tu lo installi. Se hai modificato direttamente i file del tema padre, tutte le modifiche vengono cancellate. Un tema child conserva le tue personalizzazioni separatamente: aggiornare il padre non le tocca. Ottieni sia la nuova versione del tema (con le correzioni di sicurezza) sia le tue personalizzazioni preservate.
Sperimentazione isolata
Vuoi provare una nuova struttura di template o un hack CSS non convenzionale? In un tema child puoi sperimentare liberamente. Se qualcosa va storto, disattiva il tema child e il sito torna al tema padre nel suo stato originale.
Codebase pulita
Un tema child contiene solo le tue modifiche. Un paio di template, functions.php con gli hook, style.css con le sovrascritture. Nessun mix di codice originale e tue modifiche. Quando devi sistemare qualcosa sei mesi dopo, non stai scavando nel codice di qualcun altro cercando il tuo.
Avvio rapido dello sviluppo
Un tema child è il sandbox perfetto per imparare lo sviluppo di temi WordPress. Non scrivi un tema da zero (ci vogliono centinaia di ore), ma apporti modifiche mirate a un tema già funzionante. La documentazione ufficiale sui temi child di WordPress raccomanda proprio questo approccio per gli sviluppatori principianti.
Quali sono gli svantaggi dei temi child
Ci sono anche degli svantaggi. Non sono critici, ma conoscerli in anticipo aiuta.
Conoscenze di base di coding richieste
Impostare un tema child richiede HTML, CSS e un po' di PHP. Se non hai mai aperto un editor di codice, dovrai imparare le basi. La buona notizia: per le attività tipiche (enqueue degli stili, aggiunta di un hook) il codice è già scritto; devi solo copiarlo e sostituire i tuoi valori.
Migrazione delle impostazioni del Customizer
Alcuni temi legano le impostazioni del Customizer (colori, font, layout) al nome del tema attivo. Quando si passa a un tema child, queste impostazioni "scompaiono". Non sono perse; rimangono nel database, legate al nome del tema padre. La soluzione: prima di attivare il tema child, esporta le impostazioni del Customizer (molti temi, come Total, forniscono uno strumento di import/export integrato), oppure trasferiscile manualmente dopo l'attivazione.
Dipendenza dal tema padre
Un tema child senza il suo padre è solo una cartella con dei file. Se decidi di cambiare completamente tema, dovrai creare un nuovo tema child da zero. Le funzioni incorporate nel functions.php del tema child potrebbero essere legate a hook specifici di un particolare tema padre e dovranno anch'esse essere adattate.
Come creare un tema child manualmente
Il percorso più diretto, senza plugin, usando solo le tue mani. Avrai bisogno di accesso ai file del tuo sito (FTP, file manager del tuo hosting o cPanel) e un editor di testo.
Passo 1. Crea la cartella del tema child
Apri la directory dei temi di WordPress: /wp-content/themes/. Crea una nuova cartella. Qualsiasi nome va bene, ma la convenzione è aggiungere il suffisso -child al nome del tema padre: ad esempio, per twentytwentyfive la cartella child sarebbe twentytwentyfive-child.
Per lavorare con i file via FTP, FileZilla funziona bene. Tramite hosting, usa il file manager integrato in cPanel o nel tuo pannello di hosting.
Passo 2. Crea style.css con l'intestazione del tema
Nella cartella del tema child, crea un file chiamato style.css. Questo è l'unico file obbligatorio. Incolla l'intestazione del tema:
1 /* 2 Theme Name: Twenty Twenty-Five Child 3 Theme URI: https://example.com/ 4 Description: Child theme for Twenty Twenty-Five 5 Author: Your Name 6 Template: twentytwentyfive 7 Version: 1.0.0 8 */
La riga Template: è quella che collega il tema child al padre. Il valore deve corrispondere ESATTAMENTE al nome della cartella del tema padre. Per Twenty Twenty-Five la cartella si chiama twentytwentyfive, quindi è esattamente quello che scrivi. Un errore di battitura o una lettera maiuscola/minuscola sbagliata significa che il tema non sarà riconosciuto come tema child.
Passo 3. Carica gli stili del tema padre
A questo punto il tema child funziona già; puoi attivarlo in Aspetto → Temi. Ma il sito apparirà senza stili perché il tuo style.css è ancora vuoto (a parte l'intestazione).
Crea un file chiamato functions.php nella cartella del tema child e aggiungi il codice per l'enqueue degli stili del padre:
1 add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' ); 2 3 function my_theme_enqueue_styles() { 4 $theme = wp_get_theme( 'twentytwentyfive' ); 5 $version = $theme->get( 'Version' ); 6 7 wp_enqueue_style( 8 'parent-style', 9 get_template_directory_uri() . '/style.css', 10 array(), 11 $version 12 ); 13 }
Questo codice rileva dinamicamente la versione del tema padre e la aggiunge come parametro all'URL del foglio di stile. Quando il tema si aggiorna, la versione cambia, il browser svuota la cache e gli utenti vedono gli stili correnti senza problemi di CSS.
Sostituisci
twentytwentyfivecon il nome del tuo tema padre. Usawp_get_theme()invece di un numero di versione fisso; questo ti protegge da problemi di cache durante gli aggiornamenti.

Passo 4. Attiva il tema child
Nell'amministrazione di WordPress: Aspetto → Temi → trova il tuo tema child appena creato → Attiva. L'aspetto del sito non cambierà; è normale. Sei sul tema child e funziona.
Come personalizzare un tema child
Il tema è attivato; ora passiamo alla personalizzazione. Ecco cosa puoi e dovresti fare.
Aggiungere i tuoi stili
Scrivi tutte le tue regole CSS NEL file style.css del tema child, dopo la sezione dell'intestazione. Sovrascriveranno automaticamente gli stili del tema padre con la stessa specificità. Se vuoi cambiare il colore dei titoli, scrivi la regola nel style.css child e verrà applicata.
Modificare i file di template
Vuoi cambiare la struttura di single.php o footer.php? Copia il file desiderato dal tema padre nella cartella del tema child, mantenendo la stessa struttura di sottocartelle (ad esempio, /template-parts/). Modifica la copia nel tema child; quando WordPress carica, userà la tua versione invece dell'originale del padre.
Dettaglio importante: puoi copiare solo FILE DI TEMPLATE (quelli che si trovano nella cartella principale del tema e nella cartella template-parts/). I file da sottocartelle come inc/, functions/ e classes/ non si copiano in questo modo. Per modificare la logica di quei file, usa gli hook e i filtri di WordPress.
Estendere tramite functions.php
Il functions.php del tema child si carica PRIMA di quello del padre. Questo significa che puoi:
- Aggiungere nuove funzioni senza toccare il
functions.phpdel padre; - Sovrascrivere le funzioni del padre solo se sono racchiuse in
if ( ! function_exists() ); - Aggiungere nuovi hook e filtri per cambiare il comportamento del tema padre o di WordPress stesso.
Esempio: consentire il caricamento di SVG tramite il functions.php child:
1 function my_child_allow_svg( $mimes ) { 2 $mimes['svg'] = 'image/svg+xml'; 3 return $mimes; 4 } 5 add_filter( 'upload_mimes', 'my_child_allow_svg' );
Non copiare MAI l'INTERO
functions.phpdal tema padre nel tema child. Questo causerà un errore fatale a causa di funzioni dichiarate due volte. Ilfunctions.phpchild estende quello del padre; non lo sostituisce.
Aggiungere nuovi file di template
Un tema child può contenere template che non esistono nel padre. Ad esempio, puoi creare template-full-width.php per pagine senza sidebar e WordPress lo rileverà nel tema child e lo offrirà come opzione durante la modifica di una pagina.
Strumenti ed editor di testo
Qualsiasi editor va bene per il codice del tema child, ma l'evidenziazione della sintassi facilita le cose. Ecco alcune opzioni:
- VS Code: gratuito, con estensioni per PHP e WordPress;
- Notepad++: un editor leggero per Windows che gestisce CSS/PHP/JS;
- Sublime Text: veloce e minimalista, a pagamento dopo il periodo di prova.
Per accedere ai file via FTP, usa il client FTP FileZilla. Per gli utenti hosting, il file manager integrato di cPanel è perfettamente adeguato per creare un paio di file.

Errori comuni e come risolverli
In anni di lavoro con i temi child abbiamo compilato una lista degli ostacoli più frequenti.
"Il tema child non viene riconosciuto." Quasi sempre è un errore nella riga Template:. Controlla che il nome della cartella del tema padre corrisponda carattere per carattere, inclusi maiuscole/minuscole e trattini. TwentyTwentyFive e twentytwentyfive sono nomi diversi.
"Il sito mostra HTML semplice senza stili." Il tema child è attivato ma gli stili non sono stati caricati. Aggiungi wp_enqueue_style() nel functions.php del tema child (vedi Passo 3).
"Errore fatale PHP dopo l'attivazione." Molto probabilmente hai copiato il functions.php del tema padre nel child e ora le funzioni sono dichiarate due volte. Rimuovi i duplicati dal functions.php child; tieni solo le TUE funzioni.
"Le impostazioni del Customizer sono sparite." Sono legate al nome del tema. Torna temporaneamente al padre, esporta le impostazioni (tramite un plugin o lo strumento integrato del tema), poi attiva il child e importale.
"L'aggiornamento del tema padre ha rotto il layout." Lo sviluppatore ha cambiato la struttura HTML di un template che hai copiato nel tema child. La tua copia ora è incompatibile con i nuovi stili. Soluzione: confronta il nuovo template del padre con la tua copia e adatta le modifiche.
Video passo-passo (EN) sulla creazione di un tema child: dalla creazione della cartella all'attivazione finale e configurazione degli stili. Canale WPEstate, 2025, chiaro e senza riempitivi.
⁉️🤔 Domande frequenti
Devo creare un tema child per ogni sito WordPress?
No. Se non modifichi i file del tema e non aggiungi codice personalizzato, non hai bisogno di un tema child. Ma se hai mai aperto l'editor del tema nell'amministrazione, aggiunto CSS in CSS aggiuntivo e prevedi di modificare i template, crea un tema child. Richiede 10 minuti ora e ti fa risparmiare ore al prossimo aggiornamento.
Cosa succede se cancello il tema padre ma tengo il tema child?
Il sito andrà in crash con un errore critico. Un tema child senza il suo padre non funziona; non contiene un set completo di file ed eredita tutto dal padre. Prima di cancellare il tema padre, cancella (o disattiva) prima il tema child e attiva un tema diverso.
Posso creare un tema "nipote", un child di un child?
No. WordPress supporta solo un livello di ereditarietà: padre → child. Per personalizzazioni complesse che non rientrano in un singolo tema child, l'approccio corretto è fare un fork del tema e creare un tema padre completo, oppure spostare la logica in un plugin separato.
Un tema child funziona con i temi a blocchi (FSE, Full Site Editing)?
Sì, ma il meccanismo differisce leggermente. Nei temi a blocchi il
theme.jsondel tema child viene unito a quello del padre invece di sostituirlo. I template e le parti di template vengono sovrascritti allo stesso modo: creando un file con lo stesso nome nel tema child. Maggiori dettagli nella documentazione ufficiale delle Risorse per Sviluppatori su wordpress.org.
Come trasferisco le personalizzazioni già fatte nel tema padre al tema child?
Identifica cosa hai cambiato: CSS, template o functions.php. Copia le regole CSS nel
style.csschild. Per i template modificati, copia i file nel tema child e mantieni lì le tue modifiche. Trasferisci il codice dal functions.php del padre in modo selettivo: solo le tue funzioni, non l'intero file. Dopo il trasferimento, rimuovi le tue modifiche dal tema padre; altrimenti andranno perse al prossimo aggiornamento.
Dovresti creare un tema child adesso
Se hai letto fin qui, la risposta è probabilmente sì. Un tema child non complica il sito e non lo rallenta. Separa il tuo codice da quello dello sviluppatore del tema. È come commentare il codice: all'inizio sembra inutile, ma un mese dopo ti salva.
Per chi modifica un tema per la prima volta: inizia con un sandbox. Un server locale (LocalWP, XAMPP) o un sito di staging sul tuo hosting. Crea un tema child seguendo i passaggi sopra, aggiungi un paio di regole CSS, copia un template. Quando vedi che tutto funziona, ripeti sul tuo sito live.
La domanda non è se hai bisogno di un tema child. La domanda è quando te ne ricorderai: prima dell'aggiornamento del tema o dopo che le tue personalizzazioni sono svanite.



