Come creare un tema figlio (child theme) in WordPress: guida passo passo
Quando modifichi un tema WordPress direttamente, ogni aggiornamento del tema sovrascrive le tue personalizzazioni. La soluzione è creare un tema figlio (child theme): un tema che eredita tutte le funzionalità del tema principale ma ti permette di aggiungere modifiche personalizzate che sopravvivono agli aggiornamenti.
Cos’è un tema figlio e perché è importante
Un child theme WordPress è un tema che dipende da un altro tema (chiamato tema genitore o parent theme). Il tema figlio eredita automaticamente il layout, lo stile e le funzionalità del tema genitore, ma ti permette di sovrascrivere singoli file o aggiungere codice personalizzato.
Senza un tema figlio, le personalizzazioni CSS, le modifiche ai template e le funzioni PHP che aggiungi direttamente nel tema vengono cancellate quando aggiorni il tema. Questo crea un dilemma: aggiornare il tema (necessario per sicurezza e compatibilità) significa perdere le modifiche, oppure non aggiornare significa esporre il sito a vulnerabilità.
Il child theme risolve completamente questo problema. Le modifiche vivono in una cartella separata e WordPress le applica sopra al tema genitore, che può essere aggiornato liberamente.
Struttura di un tema figlio: i file necessari
Un tema figlio WordPress richiede solo due file nella sua cartella:
- style.css — il foglio di stile con un header speciale che dichiara il tema genitore.
- functions.php — il file delle funzioni che carica il CSS del tema genitore.
La cartella del tema figlio va creata dentro wp-content/themes/. La convenzione per il nome della cartella del tema figlio è aggiungere il suffisso -child al nome della cartella del tema genitore.
Creare il file style.css del tema figlio
Il file style.css del child theme deve contenere un header con informazioni specifiche. L’elemento fondamentale è il campo Template che indica il nome della cartella del tema genitore:
/*
Theme Name: Nome del Tema Figlio
Template: nome-cartella-tema-genitore
Description: Tema figlio personalizzato
Version: 1.0
*/
Il campo Template deve corrispondere esattamente al nome della cartella del tema genitore (attenzione alle maiuscole). Dopo l’header puoi aggiungere qualsiasi regola CSS personalizzata.
Creare il file functions.php del tema figlio
Il file functions.php del child theme deve caricare il foglio di stile del tema genitore. Questo si fa con la funzione wp_enqueue_style() agganciata all’hook wp_enqueue_scripts:
<?php
add_action( ‘wp_enqueue_scripts’, ‘child_theme_enqueue_styles’ );
function child_theme_enqueue_styles() {
wp_enqueue_style( ‘parent-style’, get_template_directory_uri() . ‘/style.css’ );
wp_enqueue_style( ‘child-style’, get_stylesheet_uri(), array(‘parent-style’) );
}
La funzione get_template_directory_uri() punta al tema genitore, mentre get_stylesheet_uri() punta al tema figlio. Il parametro array(‘parent-style’) assicura che il CSS figlio venga caricato dopo quello genitore, così le tue personalizzazioni hanno la priorità.
Attivare il tema figlio
Dopo aver creato i due file, vai in Aspetto → Temi nella bacheca di WordPress. Il tema figlio apparirà nell’elenco dei temi disponibili. Fai clic su Attiva per utilizzarlo. Il sito manterrà esattamente lo stesso aspetto del tema genitore, ma ora puoi personalizzarlo senza rischi.
Prima di attivare il tema figlio su un sito in produzione, verifica che tutto funzioni correttamente: controlla il layout, i menu, i widget e le funzionalità principali. In rari casi, temi con codice non standard possono avere problemi con i child theme.
Personalizzazioni comuni nel tema figlio
Ecco le personalizzazioni più frequenti che puoi fare nel child theme:
- Modifiche CSS: aggiungi regole nel file style.css per cambiare colori, font, spaziature e layout.
- Sovrascrivere template: copia un file template dal tema genitore (es. single.php, header.php) nella cartella del tema figlio e modificalo. WordPress userà la versione del child theme.
- Aggiungere funzioni PHP: aggiungi hook, filtri e funzioni personalizzate nel functions.php del tema figlio.
- Aggiungere nuovi template: crea template di pagina personalizzati che non esistono nel tema genitore.
Errori comuni da evitare
- Campo Template sbagliato: il valore deve essere il nome esatto della cartella del tema genitore, non il nome visualizzato. Controlla il nome della cartella in wp-content/themes/.
- Non caricare il CSS genitore: senza wp_enqueue_style() nel functions.php, il sito perderà tutto lo stile del tema principale.
- Modificare il tema genitore: se continui a modificare file nel tema genitore invece che nel figlio, perdi il vantaggio del child theme.
- Copiare tutti i file del genitore: copia solo i file che devi modificare. Copiare tutto annulla il vantaggio degli aggiornamenti automatici del tema genitore.
Alternativa: plugin per creare child theme
Se non vuoi creare i file manualmente, esistono plugin che automatizzano il processo. Child Theme Configurator ti permette di creare un tema figlio con pochi clic dalla bacheca WordPress, analizzando il tema genitore e generando automaticamente i file necessari. È utile soprattutto per chi non ha familiarità con la modifica diretta dei file.
Hai bisogno di aiuto?
Creare un tema figlio è un’operazione relativamente semplice, ma personalizzarlo in modo avanzato — sovrascrivendo template, aggiungendo funzionalità e mantenendo compatibilità con gli aggiornamenti — richiede esperienza. Se hai bisogno di assistenza per creare o personalizzare un child theme, il team di SoccorsoWP può aiutarti. Apri un ticket e il tuo tema sarà personalizzato senza rischi.