Home / Blog / WordPress / Child theme WordPress: cos’è e come crearne uno

Child theme WordPress: cos’è e come crearne uno

4 Novembre 2025 — Autore: Marco Loprete

Un child theme di WordPress, o tema figlio, eredita aspetto e funzioni da un tema esistente e consente di personalizzarlo senza modificare direttamente i file originali. In questo modo gli aggiornamenti del tema padre non cancellano il codice aggiunto nel tema figlio.

In questa guida vediamo come creare un child theme manualmente, con WP-CLI o con un plugin, come gestire correttamente CSS e functions.php e che cosa cambia fra temi classici e temi a blocchi. Se stai impostando il progetto dall’inizio, parti dalla guida su come creare un sito con WordPress.

Che cos’è un child theme

Il tema padre è un tema completo e autonomo. Il tema figlio dichiara da quale tema dipende e ne eredita file, modelli, stili e funzioni. Può poi aggiungere nuovi file oppure sostituire alcuni di quelli del padre.

Il vantaggio principale è la separazione delle responsabilità: il codice distribuito dallo sviluppatore rimane nel tema padre; le personalizzazioni specifiche del sito rimangono nel child theme. Il tema padre deve comunque restare installato e aggiornato.

Quando serve un child theme WordPress

Un child theme è utile quando devi:

  • modificare template PHP di un tema classico, come header.php o un modello di archivio;
  • sostituire template, parti o pattern di un tema a blocchi;
  • definire impostazioni e stili del progetto tramite theme.json;
  • aggiungere CSS, JavaScript o funzioni strettamente legate al tema;
  • rendere le modifiche versionabili, trasferibili e più semplici da confrontare.

Un child theme non rende automaticamente il sito più sicuro e non corregge codice fragile. Evita però di perdere le personalizzazioni durante l’aggiornamento del tema padre e rende più chiaro dove sono state applicate.

Quando il child theme non è la soluzione giusta

Non ogni modifica richiede un tema figlio:

  • per poche regole CSS può bastare lo strumento CSS aggiuntivo o il sistema degli stili del tema, se compatibile con il flusso di lavoro del progetto;
  • le funzioni che devono restare attive anche cambiando tema appartengono a un plugin o a un plugin obbligatorio, non a functions.php;
  • contenuti e layout creati con l’editor o con un page builder sono normalmente salvati nel database e non si trasferiscono nel child theme;
  • per una sola variante grafica di un tema a blocchi può essere sufficiente una style variation, mentre il child theme può sostituire anche template e codice.

Prima di creare il tema figlio

Crea un backup di file e database e, se il sito è già online, lavora in un ambiente di prova. Annotare le modifiche e conservarle con Git riduce gli errori: la guida su staging e Git per WordPress spiega il metodo.

Verifica inoltre che il tema padre sia integro, aggiornato e compatibile con la versione di WordPress e di PHP utilizzata. Se hai già modificato i suoi file, creare un child theme non trasferisce automaticamente quelle modifiche: dovrai individuarle, spostarle e ripristinare una copia pulita del tema padre.

Come creare un child theme manualmente

1. Crea la cartella del child theme

Accedi al server con SFTP, SSH o con il file manager dell’hosting. Dentro wp-content/themes crea una nuova cartella con un nome semplice, minuscolo e senza spazi. Se il tema padre si chiama twentytwentyfive, puoi usare:

wp-content/themes/twentytwentyfive-child

2. Crea il file style.css

style.css è l’unico file indispensabile per registrare il tema figlio. Inserisci almeno l’intestazione seguente:

/*
Theme Name: Twenty Twenty-Five Child
Template: twentytwentyfive
Version: 1.0.0
Text Domain: twentytwentyfive-child
*/

Il valore di Template deve corrispondere esattamente al nome della cartella del tema padre, non al suo titolo commerciale. Se è errato o il padre non è installato, WordPress segnalerà che il tema è incompleto.

3. Aggiungi functions.php solo se serve

functions.php è facoltativo. WordPress carica prima quello del child theme e poi quello del tema padre: il file del figlio non sostituisce quello del padre e non va riempito copiandone il contenuto, perché si rischiano funzioni duplicate ed errori critici.

Se devi caricare il foglio di stile del child theme e il tema padre non lo fa già, puoi usare:

<?php
add_action( 'wp_enqueue_scripts', 'mlp_child_enqueue_styles' );

function mlp_child_enqueue_styles() {
	wp_enqueue_style(
		'mlp-child-style',
		get_stylesheet_uri(),
		array(),
		wp_get_theme()->get( 'Version' )
	);
}

Non aggiungere il tag PHP di chiusura. Usa nomi univoci per funzioni, classi e handle. Quando il codice gestisce dati o operazioni amministrative, applica anche sanitizzazione degli input, escape dell’output, controllo delle capacità e nonce.

Il caricamento degli stili dipende dal tema padre. Alcuni temi caricano già lo stylesheet del figlio, altri caricano soltanto quello del padre e molti temi a blocchi lavorano soprattutto con theme.json. Prima di aggiungere codice, controlla quali fogli di stile vengono effettivamente registrati: la vecchia ricetta che accoda sempre il CSS del genitore non è universale.

4. Aggiungi un’anteprima facoltativa

Per visualizzare una miniatura in Aspetto > Temi, salva nella cartella del child theme un file screenshot.png. Non è necessario per il funzionamento.

5. Installa e attiva il tema figlio

Vai in Aspetto > Temi, controlla che WordPress riconosca il child theme e attivalo. In alternativa puoi comprimere la cartella in ZIP e caricarla da Aspetto > Temi > Aggiungi tema.

Dopo l’attivazione verifica menu, widget, template, stili, immagini e funzioni principali. Il contenuto non viene cancellato, ma alcune impostazioni sono associate al tema attivo e potrebbero dover essere riassegnate.

Come creare un child theme con WP-CLI

Se hai accesso alla riga di comando, WP-CLI può generare la struttura iniziale:

wp scaffold child-theme twentytwentyfive-child 
	--parent_theme=twentytwentyfive 
	--theme_name="Twenty Twenty-Five Child" 
	--activate

Il comando crea cartella, style.css e functions.php. È un punto di partenza: devi comunque controllare il caricamento degli stili e testare l’attivazione.

Creare un child theme con un plugin

Chi non vuole lavorare sui file può usare Child Theme Configurator nel repository WordPress. Il plugin analizza il tema padre e genera i file iniziali attraverso un’interfaccia amministrativa.

Prima di installarlo controlla compatibilità, aggiornamenti recenti, recensioni e supporto. Dopo aver creato e verificato il child theme, valuta se il plugin serve ancora: non è necessario mantenerlo attivo soltanto perché il tema figlio continui a funzionare.

Personalizzare un tema classico

In un tema classico, un template copiato nel child theme con lo stesso nome e percorso può sostituire quello del padre. Per esempio, header.php nel tema figlio prevale sul file corrispondente del tema padre.

Questo meccanismo richiede manutenzione. Se il tema padre aggiorna il template per correggere un errore o adeguarsi a nuove API, la copia nel tema figlio non riceve automaticamente la modifica. Dopo aggiornamenti importanti confronta i file e integra ciò che serve.

Per richiamare risorse del tema figlio usa funzioni come get_stylesheet_directory(), get_stylesheet_directory_uri(), get_theme_file_path() o get_theme_file_uri(), secondo il tipo di percorso necessario. Le funzioni get_template_directory() e get_template_directory_uri() puntano invece al tema padre.

Child theme e temi a blocchi

Nei temi a blocchi le personalizzazioni non ruotano soprattutto attorno a file PHP. Il child theme può includere:

  • theme.json per impostazioni globali, colori, tipografia, spaziature e stili dei blocchi;
  • template HTML nella cartella templates;
  • parti di template nella cartella parts;
  • pattern e variazioni di stile;
  • CSS o PHP aggiuntivi quando sono realmente necessari.

Il theme.json del child theme ha priorità su quello del tema padre, ma le personalizzazioni salvate dall’utente nell’Editor del sito possono avere priorità ulteriore. Prima di concludere che una regola non funziona, controlla quindi anche gli stili registrati nel database.

Errori comuni con i child theme

  • Template errato: nel file style.css è stato inserito il nome visualizzato anziché la cartella del tema padre.
  • CSS non caricato: si presume che ogni tema gestisca gli stylesheet allo stesso modo.
  • functions.php copiato dal padre: provoca nomi duplicati e possibili errori fatali.
  • Modifiche ancora nel tema padre: al primo aggiornamento vengono sovrascritte.
  • Funzioni applicative nel tema: scompaiono quando si cambia veste grafica e dovrebbero stare in un plugin.
  • Template dimenticati: le copie presenti nel figlio non incorporano automaticamente le correzioni del padre.
  • Test soltanto in produzione: un errore nel PHP può rendere il sito o la Bacheca non accessibili.

Come aggiornare tema padre e child theme

Aggiorna regolarmente il tema padre: il child theme non ne sostituisce manutenzione e correzioni. Prima dell’aggiornamento crea un backup, leggi il changelog e prova la nuova versione in staging se il sito è importante.

Dopo l’aggiornamento confronta i template sovrascritti dal child theme, verifica eventuali funzioni deprecate e collauda frontend ed editor. La guida su come aggiornare WordPress in sicurezza descrive l’intero processo.

Child theme: una base ordinata per le personalizzazioni

Un child theme è utile quando le modifiche appartengono davvero alla presentazione del sito e devono sopravvivere agli aggiornamenti del tema padre. La struttura minima è semplice, ma il lavoro corretto richiede di distinguere fra CSS, template, theme.json e funzionalità da collocare in un plugin.

Se devi sviluppare o riorganizzare un tema su misura, puoi approfondire il nostro servizio di realizzazione siti web!

Autore
Marco Loprete
Marco Loprete

Marco Loprete è un web designer, consulente SEO ed esperto di web marketing italiano, titolare dell’omonima web agency e fondatore di Iufa.it – In un Futuro Aprile, blog culturale dedicato a cinema, letteratura, cultura e politica.