Come creare un tema child WordPress: guida passo passo
Hai bisogno di modificare il tuo tema WordPress ma hai paura di perdere le personalizzazioni al prossimo aggiornamento? La soluzione è il tema child WordPress. Un tema child eredita tutte le funzionalità del tema principale (parent) e ti permette di apportare modifiche sicure che sopravvivono a qualsiasi aggiornamento. In questa guida ti spiego come crearlo da zero, cosa inserire nei file essenziali e gli errori da evitare.
Cos’è un tema child e perché è fondamentale
Un tema child è un tema che eredita stile e funzionalità da un altro tema, chiamato tema parent. WordPress carica prima il tema parent e poi applica le personalizzazioni del child, sovrascrivendo solo ciò che hai modificato. Questo meccanismo è fondamentale per un motivo semplice: quando aggiorni il tema parent, WordPress sovrascrive tutti i file del tema. Se avevi modificato direttamente il file functions.php o il CSS del parent, perdi tutto. Con un tema child, le tue modifiche restano intatte perché risiedono in una cartella separata che l’aggiornamento non tocca.
Usare un tema child è considerata una best practice anche quando le modifiche sono minime. È la base per qualsiasi personalizzazione seria di un sito WordPress.
Struttura di un tema child: i file necessari
Un tema child WordPress richiede al minimo solo due file:
- style.css — il foglio di stile con un header speciale che dichiara il tema parent.
- functions.php — il file delle funzioni, dove carichi lo stile del parent e aggiungi le tue personalizzazioni.
Opzionalmente puoi aggiungere qualsiasi file template del parent che vuoi sovrascrivere: header.php, footer.php, single.php, page.php e così via. WordPress userà la versione del child al posto di quella del parent.
Creare il tema child passo passo
Segui questi passaggi per creare un tema child funzionante. L’esempio usa il tema Twenty Twenty-Five come parent, ma la procedura è identica per qualsiasi tema.
Passo 1: creare la cartella
Collegati via FTP o dal File Manager del pannello hosting. Naviga in wp-content/themes/ e crea una nuova cartella. La convenzione è usare il nome del parent seguito da -child:
wp-content/themes/twentytwentyfive-child/
Passo 2: creare style.css
All’interno della cartella, crea il file style.css con questo contenuto:
/* Theme Name:TwentyTwentyFive Child Template: twentytwentyfive Description: Tema child personalizzato Author: Il tuo nome Version: 1.0 */ /* Le tue personalizzazioni CSS vanno qui sotto */
La riga più importante è Template: twentytwentyfive. Deve corrispondere esattamente al nome della cartella del tema parent (tutto minuscolo). Se sbagli anche un solo carattere, il child non funzionerà.
Passo 3: creare functions.php
Crea il file functions.php nella stessa cartella con questo codice:
<?php
add_action('wp_enqueue_scripts', function() {
wp_enqueue_style('parent-style', get_template_directory_uri() . '/style.css');
wp_enqueue_style('child-style', get_stylesheet_uri(), ['parent-style']);
});
Questo codice carica prima il CSS del tema parent e poi quello del child, garantendo che le tue personalizzazioni CSS abbiano la priorità corretta. Senza questo passaggio, il sito potrebbe non caricare gli stili del parent.
Passo 4: attivare il tema child
Vai in Aspetto > Temi nella dashboard di WordPress. Vedrai il tema child nella lista (potrebbe non avere un’anteprima). Clicca “Attiva”. Il sito dovrebbe apparire esattamente come prima, perché il child eredita tutto dal parent.
Come sovrascrivere un file template
Supponiamo di voler modificare il template della singola pagina articolo. La procedura è semplice:
- Vai nella cartella del tema parent.
- Copia il file single.php nella cartella del child.
- Modifica la copia nel child come preferisci: aggiungi elementi, rimuovi sezioni, cambia il layout.
- WordPress caricherà automaticamente la versione del child al posto dell’originale.
Questo funziona per qualsiasi file template: page.php, archive.php, header.php, footer.php, sidebar.php e anche i template dentro sottocartelle come template-parts/. Mantieni la stessa struttura di cartelle del parent per i file in sottodirectory.
Personalizzazioni comuni con il tema child
- Modificare il CSS: aggiungi le regole CSS nel file style.css del child. Sovrascriveranno quelle del parent.
- Sovrascrivere un template: copia il file template dal parent nella cartella del child e modificalo. WordPress userà la versione del child.
- Aggiungere funzioni PHP: inserisci nuove funzioni, hook e filtri nel functions.php del child. Viene caricato prima di quello del parent.
- Aggiungere nuovi template: puoi creare template personalizzati (es. template-landing.php) direttamente nel child.
Errori comuni da evitare
- Template sbagliato nello style.css: se il valore di Template: non corrisponde esattamente al nome della cartella del parent, il child non funzionerà e vedrai una pagina bianca.
- Non caricare gli stili del parent: dimenticare il wp_enqueue_style nel functions.php causa la perdita di tutto il design del sito.
- Copiare tutti i file del parent: copia solo i file che devi modificare. Copiare tutto vanifica il vantaggio del child, perché gli aggiornamenti del parent non si rifletteranno nei file copiati.
- Dimenticare il tag di apertura PHP: il file functions.php deve iniziare con <?php. Uno spazio o una riga vuota prima del tag può causare l’errore “headers already sent”.
Alternative: plugin per creare temi child
Se preferisci non creare i file manualmente, esistono plugin che automatizzano il processo. Child Theme Configurator è il più popolare: analizza il tema parent, genera i file del child con le impostazioni corrette e ti permette di personalizzare il CSS con un’interfaccia visuale. Un’altra opzione è Generate Child Theme, che crea il child con un solo clic dalla dashboard. Entrambi sono gratuiti e disponibili nel repository ufficiale di WordPress.
Aggiungere uno screenshot al tema child
Per rendere il tema child riconoscibile nella dashboard, puoi aggiungere un’immagine di anteprima. Crea un file chiamato screenshot.png nella cartella del child con dimensioni raccomandate di 1200×900 pixel. Usa uno screenshot del tuo sito personalizzato o una grafica rappresentativa. WordPress mostrerà questa immagine nella pagina Aspetto > Temi, rendendo più facile distinguere il child dal parent.
Quando il tema child non basta
In alcuni casi, un tema child potrebbe non essere sufficiente. Se il tema parent subisce modifiche strutturali importanti in un aggiornamento (ad esempio, rinomina le funzioni o cambia completamente i template), le tue sovrascritture nel child potrebbero smettere di funzionare. Per questo è importante testare gli aggiornamenti del parent in un ambiente di staging prima di applicarli al sito live. Se hai bisogno di personalizzazioni molto profonde, potrebbe essere il momento di valutare un tema custom sviluppato su misura. Un’altra opzione intermedia è usare un plugin come Code Snippets per aggiungere funzionalità PHP senza toccare i file del tema, riducendo il rischio di incompatibilità.
Serve aiuto con il tema child?
Se il sito mostra una schermata bianca o errori dopo aver attivato il tema child, controlla che il valore Template sia corretto e che il file functions.php non contenga errori di sintassi. Se non riesci a risolvere, il team di SoccorsoWP può configurare il tema child e le personalizzazioni per te. Apri un ticket e ti aiutiamo subito.