Un child theme di WordPress è un tema che eredita le funzionalità e l’aspetto di un altro tema, chiamato tema genitore. Invece di modificare direttamente i file del tema genitore, lo sviluppatore crea una cartella separata che contiene solo le personalizzazioni desiderate. Questo approccio permette di aggiornare il tema originale senza perdere le modifiche apportate, evitando che ogni nuovo rilascio sovrascriva il lavoro svolto.
La pratica è considerata una buona norma nello sviluppo con WordPress, soprattutto quando si interviene su temi di terze parti. Il tema genitore continua a fornire la struttura di base, mentre il tema figlio sovrascrive solo i file o le funzioni che devono cambiare. In questo modo si mantiene la compatibilità con gli aggiornamenti e si riduce il rischio di introdurre errori nel codice originale.
Come funziona l’ereditarietà dei temi
WordPress determina quale tema mostrare leggendo il foglio di stile principale del tema attivo. Un tema figlio è riconosciuto come tale perché il suo file di stile contiene un’intestazione con un campo che indica il nome della cartella del tema genitore. Quando il sistema carica un modello, cerca prima nella cartella del figlio e, se non lo trova, passa a quella del genitore.
Questo meccanismo vale per i file di modello come index.php, header.php o single.php, ma non per il file functions.php. Le funzioni definite nel tema figlio vengono caricate insieme a quelle del genitore, non al posto loro. Per questo motivo, quando si vuole sostituire una funzione esistente, occorre spesso rimuoverla prima di ridefinirla, oppure agire tramite gli agganci messi a disposizione dal tema genitore.
Quando conviene creare un tema figlio
La creazione di un tema figlio è consigliata ogni volta che si intende modificare un tema senza esserne gli autori originali. Se il tema viene aggiornato di frequente, le modifiche dirette andrebbero perse; il tema figlio protegge invece le personalizzazioni. È utile anche quando si lavora su più siti che condividono una base comune e si vogliono applicare variazioni specifiche per ciascuno.
Personalizzazioni grafiche e funzionali
Un tema figlio può contenere fogli di stile aggiuntivi, modelli personalizzati e funzioni proprie. Le modifiche al CSS vengono in genere inserite in un file separato, caricato dopo quello del genitore, così da avere la precedenza. Le modifiche strutturali, come la disposizione degli elementi in una pagina, richiedono invece la copia del file di modello interessato nella cartella del figlio.
Limiti dell’approccio
Il tema figlio non è adatto a ogni situazione. Se le modifiche riguardano l’intera struttura del sito, potrebbe essere più sensato sviluppare un tema autonomo. Inoltre, un tema figlio dipende sempre dal genitore: se quest’ultimo non viene più aggiornato o viene abbandonato, anche il figlio ne eredita i problemi di manutenzione.
Struttura dei file di un tema figlio
La cartella di un tema figlio contiene almeno due file: un foglio di stile con l’intestazione che dichiara il genitore e un file delle funzioni. Altri file sono opzionali e vengono aggiunti solo quando servono. La struttura minima è pensata per restare leggibile e facile da mantenere nel tempo.
| File | Obbligatorio | Funzione principale | Note |
|---|---|---|---|
| style.css | Sì | Dichiara il tema genitore e raccoglie gli stili | Deve contenere l’intestazione con il campo del modello |
| functions.php | No | Aggiunge funzioni e agganci personalizzati | Viene caricato insieme a quello del genitore |
| screenshot.png | No | Mostra l’anteprima nella bacheca | Facoltativo, ma utile per riconoscere il tema |
| header.php | No | Sostituisce il modello dell’intestazione | Va copiato solo se serve modificarlo |
| single.php | No | Sostituisce il modello degli articoli singoli | Utile per cambiare la struttura della pagina |
Passaggi per creare un tema figlio
- Individuare la cartella del tema genitore all’interno della directory dei temi dell’installazione WordPress.
- Creare una nuova cartella con un nome riconoscibile, preferibilmente senza spazi né caratteri speciali.
- Creare all’interno il file style.css con l’intestazione che indica il nome del tema e il modello genitore.
- Creare, se necessario, il file functions.php per aggiungere funzioni personalizzate.
- Caricare la cartella sul server tramite un client di trasferimento file o la gestione file della piattaforma di hosting.
- Accedere alla bacheca di amministrazione e attivare il tema figlio dalla sezione dedicata all’aspetto.
- Verificare che il sito si visualizzi correttamente e che le personalizzazioni siano attive.
- Documentare le modifiche apportate, così da poterle ritrovare in caso di manutenzione futura.
Differenze rispetto ad altre soluzioni
Esistono alternative alla creazione di un tema figlio, come l’uso di un tema autonomo o di un componente aggiuntivo per le personalizzazioni. Il tema figlio resta però la soluzione più diffusa quando si vuole intervenire sul codice senza perdere gli aggiornamenti. La scelta dipende dalla frequenza degli aggiornamenti, dalla complessità delle modifiche e dalle competenze tecniche disponibili.
È importante ricordare che un tema figlio non sostituisce le buone pratiche di sviluppo. Le personalizzazioni vanno comunque testate in un ambiente di prova prima di essere applicate a un sito in produzione, per evitare malfunzionamenti visibili agli utenti.
Domande frequenti
Che cosa è esattamente un tema figlio di WordPress?
È un tema che dipende da un altro tema, detto genitore, e ne eredita le funzionalità. Serve a personalizzare il genitore senza modificarne direttamente i file.
Perché conviene usare un tema figlio invece di modificare il tema originale?
Perché gli aggiornamenti del tema genitore non cancellano le personalizzazioni. Modificare direttamente il genitore significa perdere le modifiche a ogni nuovo rilascio.
Quali file deve contenere come minimo un tema figlio?
Servono almeno il foglio di stile con l’intestazione che dichiara il genitore e, in molti casi, il file delle funzioni. Gli altri file sono opzionali.
Il file functions.php del figlio sostituisce quello del genitore?
No, i due file vengono caricati insieme. Per sostituire una funzione occorre rimuoverla esplicitamente prima di ridefinirla.
Un tema figlio rallenta il sito?
In genere l’impatto è trascurabile. Le prestazioni dipendono soprattutto dal codice del tema e dai componenti aggiuntivi utilizzati.
Posso creare un tema figlio di un tema figlio?
La pratica non è consigliata, perché complica la manutenzione e la catena di dipendenze. È preferibile intervenire direttamente sul figlio esistente.
Voci correlate:
Seo worpress WordPress SEO per file multimediali Clonare sito wordpress Web template
