Creare un child theme WordPress: modifiche a design e funzioni sicure dagli aggiornamenti

Un child theme è un tema WordPress subordinato che eredita le funzioni, i template e il design di un parent theme esistente. Vi permette di effettuare modifiche personalizzate senza cambiare direttamente i file del tema originale.

Questo è importante perché le modifiche a un parent theme possono essere sovrascritte al successivo aggiornamento del tema. Se quindi lavorate direttamente in file come style.css, functions.php, header.php, footer.php o single.php di un tema acquistato o gratuito, rischiate che le vostre modifiche vadano perse durante un aggiornamento.

In breve: Un child theme protegge le vostre modifiche individuali dagli aggiornamenti del tema. Il parent theme rimane aggiornabile, mentre le vostre modifiche CSS, PHP o ai template si trovano nel child theme.

Che cos’è un parent theme?

Il parent theme è il tema principale del vostro sito WordPress. Fornisce il design di base, i template, le funzioni, i fogli di stile e spesso anche le opzioni del tema. Esempi sono temi come Twenty Twenty-Four, Astra, GeneratePress, Kadence, OceanWP o molti temi premium.

Un child theme ha sempre bisogno di un parent theme. Senza parent theme non può funzionare correttamente, perché ne eredita file e funzioni.

Con un child theme, WordPress carica in linea di principio il child theme come tema attivo, ma ricorre al parent theme per i file mancanti. In questo modo dovete creare solo i file che volete davvero personalizzare.

Perché un child theme è utile

Un child theme è particolarmente utile quando desiderate effettuare modifiche che vanno oltre le semplici impostazioni nel Customizer, nell’editor del sito o in un page builder.

I principali vantaggi:

  • Sicurezza negli aggiornamenti: Il parent theme può essere aggiornato senza sovrascrivere le vostre modifiche.
  • Separazione pulita: Il vostro codice resta separato dal codice originale dello sviluppatore del tema.
  • Migliore manutenibilità: Le modifiche sono più facili da trovare, documentare e annullare.
  • Flessibilità: Potete personalizzare in modo mirato CSS, funzioni PHP, template o JavaScript.
  • Sicurezza: Il parent theme può continuare a ricevere aggiornamenti di sicurezza.
  • Workflow professionale: Le modifiche possono essere testate meglio in ambienti di staging, Git o sviluppo.
Consiglio pratico: Non appena desiderate modificare file del tema, non dovreste lavorare direttamente nel parent theme. Utilizzate un child theme o un’altra struttura di sviluppo pulita.

Quando non avete bisogno di un child theme?

Non ogni piccola modifica richiede un child theme. Oggi molte personalizzazioni possono essere eseguite senza codice. I temi moderni offrono in particolare ampie impostazioni per colori, tipografia, spaziature, header, footer e layout.

Un child theme di solito non è necessario per:

  • modifiche nel Customizer,
  • modifiche nell’editor del sito,
  • semplici impostazioni nel pannello del tema,
  • menu e widget,
  • contenuti in pagine e articoli,
  • piccole modifiche CSS tramite Aspetto > Personalizza > CSS aggiuntivo,
  • layout di page builder, purché non vengano modificati file del tema.

Se volete cambiare solo colori o logo, spesso bastano il Customizer, l’editor del sito o il pannello delle opzioni del tema.

Quando è consigliabile un child theme?

Un child theme è consigliabile se desiderate intervenire direttamente nella struttura tecnica del tema.

Casi d’uso tipici:

  • gestire in modo strutturato i propri file CSS,
  • aggiungere proprie funzioni PHP,
  • sovrascrivere file template,
  • personalizzare header.php o footer.php,
  • integrare propri file JavaScript,
  • utilizzare hook e filtri,
  • sovrascrivere template WooCommerce,
  • definire propri stili di blocchi o varianti del tema,
  • versionare e documentare le modifiche.

Child theme con temi classici e temi a blocchi

Per i temi classici, i child theme sono da molti anni lo standard per modifiche sicure dagli aggiornamenti. I temi classici lavorano soprattutto con template PHP, CSS e JavaScript.

Con i moderni temi a blocchi la situazione è un po’ diversa. I temi a blocchi sono composti maggiormente da template HTML, blocchi e un file theme.json. Molte modifiche avvengono tramite l’editor del sito. Tuttavia, anche i temi a blocchi possono essere estesi con child theme, ad esempio tramite template personalizzati, proprie modifiche a theme.json o stili aggiuntivi. Nel Theme Handbook, WordPress distingue tra temi classici e temi a blocchi; i temi a blocchi utilizzano l’editor del sito e sono composti in misura molto maggiore da blocchi. ([developer.wordpress.org](https://developer.wordpress.org/themes/?utm_source=chatgpt.com))

Tipo di tema Modifiche tipiche Child theme utile?
Tema classico Template PHP, CSS, funzioni, hook Sì, molto consigliato per modifiche a file o codice.
Tema a blocchi Editor del sito, template, theme.json, stili dei blocchi Sì, se le modifiche devono stare in file in modo strutturato e sicuro dagli aggiornamenti.
Tema page builder Layout del builder, theme builder, CSS, hook Dipende dal builder e dal tipo di modifica.

Preparazione: usare backup e staging

Prima di creare o attivare un child theme, dovreste creare un backup del vostro sito web. Anche se un child theme è in linea di principio sicuro, errori nei file PHP o nei file template possono compromettere il sito.

Un backup è particolarmente importante se:

  • il sito è già utilizzato in produzione,
  • WooCommerce o moduli sono attivi,
  • viene usato un page builder,
  • sono previste funzioni PHP personalizzate,
  • devono essere sovrascritti file template,
  • più persone lavorano al sito.

Ancora meglio è un ambiente di staging. Lì potete creare, attivare e testare il child theme senza mettere a rischio il sito live.

????️ Raccomandazione degli esperti CURIAWEB

Testate prima le modifiche al child theme in un ambiente di staging. Modifiche CSS, nuove funzioni PHP o adattamenti dei template possono essere verificati lì senza rischi prima di essere trasferiti al sito live.

Scoprire di più sull’hosting WordPress con staging

Passo 1: determinare il nome della cartella del parent theme

Prima di creare un child theme, dovete conoscere il nome esatto della cartella del parent theme. Questo è importante per la riga Template: nel file style.css del child theme.

Trovate il nome della cartella in:

wp-content/themes/

Esempi:

  • twentytwenty
  • twentytwentyfour
  • astra
  • generatepress
  • kadence

Il valore in Template: deve corrispondere esattamente al nome della cartella del parent theme. Maiuscole/minuscole e ortografia devono essere precise.

Passo 2: creare la cartella del child theme

Collegatevi al vostro account hosting tramite SFTP, FTP o tramite il File Manager di cPanel. Aprite la directory:

wp-content/themes/

Create lì una nuova cartella per il vostro child theme. Il nome dovrebbe essere univoco e scritto in minuscolo.

Esempi:

  • twentytwenty-child
  • astra-child
  • generatepress-child
  • curiaweb-theme-child

Non utilizzate spazi e, se possibile, evitate caratteri speciali nel nome della cartella.

Passo 3: creare style.css

Create nella nuova cartella del child theme un file chiamato style.css. Questo file necessita di un header del tema. La voce più importante è Template:, perché così WordPress sa quale parent theme deve essere utilizzato.

/*
Theme Name: Twenty Twenty Child
Theme URI: https://www.curiaweb.ch/
Description: Child theme per modifiche individuali al tema Twenty Twenty.
Author: CURIAWEB GmbH
Author URI: https://www.curiaweb.ch/
Template: twentytwenty
Version: 1.0.0
Text Domain: twentytwenty-child
*/

Adattate Theme Name, Description, Author e soprattutto Template al vostro parent theme.

Importante: La riga Template: deve contenere il nome della cartella del parent theme, non il nome visualizzato del tema.

Passo 4: creare functions.php

Create nella cartella del child theme un file chiamato functions.php. In questo file potete caricare fogli di stile, script e funzioni personalizzate.

Un approccio semplice e spesso utilizzato per caricare il foglio di stile del child theme è questo:

<?php
/**
 * Caricare gli stili del child theme.
 */
add_action( 'wp_enqueue_scripts', 'curiaweb_child_theme_enqueue_styles' );

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

Molti parent theme moderni caricano già correttamente i propri stili. In questi casi spesso basta caricare solo il foglio di stile del child theme. Con alcuni temi più vecchi, il foglio di stile del parent theme deve essere caricato esplicitamente in aggiunta. WordPress segnala che l’enqueueing degli stili può dipendere da come il parent theme carica i propri stili. ([developer.wordpress.org](https://developer.wordpress.org/themes/advanced-topics/child-themes/?utm_source=chatgpt.com))

Se il vostro parent theme non carica automaticamente i propri stili, potrebbe essere necessario un approccio come questo:

<?php
/**
 * Caricare gli stili parent e child.
 */
add_action( 'wp_enqueue_scripts', 'curiaweb_enqueue_parent_and_child_styles' );

function curiaweb_enqueue_parent_and_child_styles() {
    $parent_style = 'parent-style';

    wp_enqueue_style(
        $parent_style,
        get_template_directory_uri() . '/style.css'
    );

    wp_enqueue_style(
        'child-style',
        get_stylesheet_uri(),
        array( $parent_style ),
        wp_get_theme()->get( 'Version' )
    );
}

Quale variante sia corretta dipende dal parent theme. Dopo l’attivazione, testate se tutti gli stili vengono caricati correttamente.

Passo 5: aggiungere un’immagine screenshot opzionale

Affinché il vostro child theme venga visualizzato meglio nella panoramica dei temi, potete inserire un file screenshot.png nella cartella del child theme. Questo file è opzionale.

L’immagine screenshot appare sotto Aspetto > Temi. Non influisce sul funzionamento del child theme.

Passo 6: attivare il child theme

Accedete alla dashboard di WordPress e aprite:

Aspetto > Temi

Lì dovrebbe comparire il vostro nuovo child theme. Attivatelo. Dopodiché WordPress utilizza il child theme come tema attivo, ma continua a ricorrere al parent theme.

Verificate subito dopo l’attivazione:

  • Il sito appare come prima?
  • Il menu è ancora assegnato correttamente?
  • I widget nel footer e nelle sidebar sono ancora presenti?
  • Il logo è visibile?
  • Le impostazioni del Customizer o del tema funzionano?
  • I file CSS vengono caricati correttamente?
  • La visualizzazione mobile funziona?

A volte menu o widget devono essere riassegnati una volta dopo un cambio di tema, anche se il child theme si basa sullo stesso parent theme.

Modifiche CSS nel child theme

Potete scrivere le vostre regole CSS nel file style.css del child theme. Questo è utile se le modifiche devono essere salvate in modo permanente, comprensibile e sicuro dagli aggiornamenti.

Esempio:

.site-header {
    border-bottom: 3px solid #c61f29;
}

.button,
.wp-block-button__link {
    border-radius: 6px;
}

Per modifiche CSS molto piccole può bastare anche l’area del Customizer CSS aggiuntivo. Tuttavia, se pianificate molte modifiche o desiderate lavorare in modo professionale, un child theme è più chiaro.

Aggiungere funzioni PHP nel child theme

Potete aggiungere le vostre funzioni PHP nel file functions.php del child theme. Siate molto prudenti: un errore PHP può rendere il vostro sito non più raggiungibile.

Modifiche PHP tipiche sono:

  • integrare script personalizzati,
  • estendere funzioni del tema,
  • utilizzare hook e filtri,
  • adattare output WooCommerce,
  • aggiungere shortcode,
  • registrare dimensioni immagini,
  • adattare funzioni admin.

Se non siete sicuri, testate sempre il codice PHP prima in un ambiente di staging.

Sovrascrivere file template

Un child theme può sovrascrivere determinati file template del parent theme. A tale scopo copiate il file desiderato dal parent theme nel child theme e mantenete la struttura relativa delle directory.

Esempi:

  • single.php per singoli articoli,
  • page.php per pagine,
  • archive.php per archivi,
  • header.php per l’header,
  • footer.php per il footer,
  • woocommerce/single-product.php per template WooCommerce.

Se un file è presente nel child theme, WordPress usa questo invece del file del parent theme. Le modifiche al parent theme non possono quindi più confluire automaticamente in questi file sovrascritti. Per questo dovreste controllare regolarmente i file template copiati quando il parent theme viene aggiornato.

Attenzione: Non copiate inutilmente troppi file template nel child theme. Sovrascrivete solo i file che dovete davvero modificare.

Child theme e WooCommerce

Anche i template WooCommerce possono essere personalizzati tramite un child theme. Questo è un caso d’uso frequente quando pagine prodotto, carrello, checkout o template email devono essere personalizzati.

WooCommerce mostra nello stato del sistema quando file template sono stati sovrascritti e potrebbero essere obsoleti. Controllate regolarmente quest’area dopo gli aggiornamenti WooCommerce.

Importante per modifiche WooCommerce:

  • creare prima un backup completo,
  • usare un ambiente di staging,
  • testare il checkout dopo le modifiche,
  • controllare i template email,
  • verificare i template sovrascritti dopo gli aggiornamenti,
  • non modificare funzioni critiche per il business senza test.

Creare un child theme con un plugin

Chi non desidera creare file manualmente può creare un child theme anche con un plugin. Esistono diverse soluzioni per questo. Possono essere utili, ma dopo la creazione non devono necessariamente restare attive in modo permanente se non sono più necessarie.

Vantaggi di un plugin:

  • inizio semplice,
  • meno lavoro manuale sui file,
  • rilevamento automatico del parent theme,
  • talvolta funzioni di analisi aggiuntive.

Svantaggi:

  • plugin aggiuntivo nel sistema,
  • possibile configurazione errata,
  • minore comprensione della struttura tecnica,
  • non sempre ideale per workflow professionali.

Per siti in produzione, la creazione manuale o un ambiente di sviluppo pulito sono spesso più trasparenti.

Child theme e staging

Un child theme, se possibile, non dovrebbe essere sviluppato direttamente su un sito live. Utilizzate un ambiente di staging per testare le modifiche in sicurezza.

In staging potete verificare:

  • se il child theme viene attivato correttamente,
  • se gli stili vengono caricati,
  • se le funzioni PHP sono prive di errori,
  • se i template si applicano come previsto,
  • se la visualizzazione mobile è corretta,
  • se i processi WooCommerce funzionano,
  • se i layout del page builder restano invariati.

Solo quando tutto funziona correttamente dovreste trasferire la modifica al sito live.

Sicurezza: evitare errori tipici

  • Nome template errato: La riga Template: non contiene il nome della cartella del parent theme.
  • Errore PHP in functions.php: Il sito mostra un errore critico.
  • Parent theme non installato: Il child theme non può funzionare.
  • Stili caricati due volte: Un enqueueing errato può influire su performance o visualizzazione.
  • Troppi template copiati: Gli aggiornamenti del parent theme non passano più in modo pulito.
  • Nessun backup: Gli errori sono difficili da annullare.
  • Sviluppo live: I visitatori vedono direttamente gli errori.
  • Menu e widget non controllati: Dopo l’attivazione mancano navigazione o contenuti del footer.

Performance: un child theme rende il sito più lento?

Un child theme non rende automaticamente più lento un sito. È decisivo quali modifiche contiene. Un piccolo child theme con CSS pulito e poche funzioni di norma ha un impatto quasi impercettibile.

I problemi di performance derivano piuttosto da:

  • troppi file CSS aggiuntivi,
  • JavaScript non necessario,
  • funzioni PHP scritte male,
  • query al database non ottimizzate,
  • troppe risorse esterne,
  • modifiche WooCommerce non testate,
  • fogli di stile caricati due volte.

Un codice child theme sviluppato in modo pulito è manutenibile e performante. Un codice poco pulito può invece causare problemi, indipendentemente dal fatto che si trovi in un child theme o in un plugin.

SEO e GEO: perché i child theme sono indirettamente importanti

Un child theme non migliora automaticamente la SEO. Può però aiutare a implementare in modo pulito importanti modifiche tecniche e di design.

Modifiche rilevanti per la SEO nel child theme possono essere:

  • struttura template pulita,
  • tempi di caricamento migliori grazie a codice ottimizzato,
  • dati strutturati, se integrati correttamente,
  • struttura HTML accessibile,
  • output ottimizzato dei titoli,
  • template WooCommerce puliti,
  • evitare errori di layout inutili.

Per la GEO, cioè Generative Engine Optimization, un child theme è indirettamente utile se consente di strutturare i contenuti in modo più chiaro, renderli più accessibili e produrli tecnicamente in modo più pulito. Restano però decisivi contenuti di alta qualità, titoli chiari, link interni e informazioni affidabili.

Procedura consigliata

  1. Verificare se un child theme è necessario: Per semplici opzioni di design spesso bastano Customizer o editor del sito.
  2. Creare un backup: Salvare file e database.
  3. Usare staging: Non testare modifiche direttamente sul sito live.
  4. Determinare il nome della cartella del parent theme: Usarlo esattamente per Template:.
  5. Creare la cartella del child theme: Sotto wp-content/themes/.
  6. Creare style.css: Creare header del tema con voce Template corretta.
  7. Creare functions.php: Integrare correttamente gli stili e aggiungere funzioni proprie.
  8. Attivare il child theme: Sotto Aspetto > Temi.
  9. Controllare il sito: Testare layout, menu, widget, visualizzazione mobile, moduli e shop.
  10. Documentare le modifiche: Così la manutenzione successiva resta più semplice.

Domande frequenti sul child theme WordPress

Che cos’è un child theme?

Un child theme è un tema subordinato che estende un parent theme. Ne eredita le funzioni e consente modifiche personalizzate sicure dagli aggiornamenti.

Perché non dovrei modificare direttamente un parent theme?

Le modifiche dirette al parent theme possono essere sovrascritte durante un aggiornamento del tema. Inoltre la manutenzione diventa più difficile.

Ho bisogno di un child theme per piccole modifiche CSS?

Non necessariamente. Per poche regole CSS può bastare CSS aggiuntivo nel Customizer. Per modifiche estese o a lungo termine, un child theme è più pulito.

Posso usare plugin invece di un child theme?

Per alcune modifiche sì. Piccoli plugin CSS o plugin per code snippet possono aiutare. Tuttavia, se desiderate sovrascrivere template del tema come header.php, footer.php o template WooCommerce, un child theme è la soluzione migliore.

Il mio sito avrà un aspetto diverso dopo l’attivazione?

Idealmente no. Il child theme dovrebbe ereditare il parent theme. Controllate comunque menu, widget, logo, impostazioni del Customizer e visualizzazione mobile.

Un child theme può danneggiare il mio sito?

Codice PHP scritto male o file template difettosi possono causare problemi. Per questo dovreste usare backup e staging.

I child theme funzionano anche con i temi a blocchi?

Sì, i child theme possono essere usati anche con i temi a blocchi. In quel caso anche l’editor del sito, i template HTML e theme.json svolgono un ruolo importante.

Il parent theme deve restare installato?

Sì. Un child theme ha bisogno del suo parent theme. Se il parent theme viene eliminato, il child theme non funziona più correttamente.


Massima libertà per il vostro web design WordPress

Un child theme è la base pulita per modifiche WordPress individuali. Con l’hosting WordPress di CURIAWEB beneficiate di una veloce infrastruttura NVMe, SSL incluso, moderno supporto PHP e una base stabile per lo sviluppo professionale.

Scoprire WordPress Hosting con staging

Avete domande sulla creazione? Il nostro supporto CURIAWEB sarà lieto di aiutarvi personalmente.

Hai trovato utile questa risposta? 0 Utenti hanno trovato utile questa risposta (0 Voti)