Come creare un tema child in WordPress

Come creare un tema child in WordPress

WordPress è una delle piattaforme più popolari per la creazione di siti web grazie alla sua flessibilità e alla vasta disponibilità di temi e plugin. Tuttavia, chiunque abbia mai voluto personalizzare un tema sa bene che modificare direttamente i file di un tema principale (parent theme) non è una buona idea. Questo perché, al primo aggiornamento del tema, tutte le modifiche andrebbero perse. Qui viene in soccorso il tema child.

Un tema child (child theme), ovvero un tema “figlio”, eredita funzionalità e stile dal tema principale ma e può essere modificato in sicurezza.

In questa guida passo passo vedremo come creare un tema child in WordPress, anche se sei un principiante assoluto.


Che cos’è un tema child in WordPress?

Un tema child è un tema che eredita le caratteristiche, i file e lo stile del tema parent.Le differenze principali sono:

  • Il tema child contiene solo i file che desideri modificare.
  • Il tema parent resta intatto e può essere aggiornato senza perdere le modifiche.
  • Le personalizzazioni sono centralizzate in un tema sicuro e separato.

In pratica, il tema child funziona come un “contenitore” di modifiche, che sostituisce o aggiunge codice rispetto al tema originale.


Perché usare un tema child?

Creare un tema child offre diversi vantaggi:

  1. Sicurezza negli aggiornamenti
    Puoi aggiornare il tema principale senza rischiare di perdere le tue personalizzazioni.
  2. Flessibilità
    Puoi modificare CSS, funzioni PHP o template specifici senza compromettere la stabilità del sito.
  3. Apprendimento
    È un ottimo modo per imparare come funziona WordPress e come i temi interagiscono con i file.
  4. Backup semplificato
    Tutte le modifiche sono raccolte in una cartella separata, facile da esportare e salvare.

Cosa serve per creare un tema child

Prima di iniziare, assicurati di avere:

  • Un sito WordPress attivo.
  • Un tema parent installato (ad esempio Astra, GeneratePress, Hello Elementor, ecc.).
  • Accesso al file manager del tuo hosting o un client FTP (come FileZilla).
  • Un editor di testo (come VS Code o Sublime Text).

Passo 1 – Creare la cartella del tema child

Il primo passo è creare una cartella per il tuo tema child.

  1. Vai nella directory dei temi: wp-content/themes/
  2. Crea una nuova cartella con un nome chiaro, ad esempio: astra-child

Importante: il nome della cartella deve essere tutto in minuscolo e senza spazi.


Passo 2 – Creare il file style.css

Ogni tema WordPress necessita di un file style.css.Nel tema child, questo file serve per dichiarare il tema e includere gli stili personalizzati.

Crea un file chiamato style.css dentro la cartella del tema child e incolla questo codice:

/*
 Theme Name:   Astra Child
 Theme URI:    https://esempio.com/astra-child
 Description:  Tema child per Astra
 Author:       Il tuo nome
 Author URI:   https://esempio.com
 Template:     astra
 Version:      1.0.0
*/

/* Qui puoi inserire il tuo CSS personalizzato */

Spiegazione dei campi:

  • Theme Name → Il nome che comparirà nella bacheca di WordPress.
  • Template → Deve corrispondere esattamente al nome della cartella del tema parent (astra in questo esempio).
  • Gli altri campi sono opzionali ma consigliati.

Passo 3 – Creare il file functions.php

Ora dobbiamo assicurarci che il tema child carichi anche gli stili del tema parent. Per farlo, creiamo un file functions.php nella cartella del child theme.

Inserisci questo codice:

<?php
function astra_child_enqueue_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
    wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css', array('parent-style') );
}
add_action( 'wp_enqueue_scripts', 'astra_child_enqueue_styles' );

Questo codice dice a WordPress di:

  1. Caricare prima lo stile del tema parent.
  2. Caricare poi lo stile del child, in modo che le tue modifiche abbiano la priorità.

Passo 4 – Attivare il tema child

Ora che hai creato i file principali, accedi alla Bacheca di WordPress:

  1. Vai su Aspetto → Temi.
  2. Dovresti vedere comparire il nuovo tema Astra Child (o il nome che hai scelto).
  3. Clicca su Attiva.

Se tutto è stato fatto correttamente, il tuo sito userà il tema child senza differenze visibili rispetto al parent.


Passo 5 – Personalizzare il tema child

Ora che il tema child è attivo, puoi iniziare a personalizzarlo in sicurezza. Alcuni esempi:

1. Aggiungere CSS personalizzato

Puoi scrivere codice CSS nel file style.css per modificare colori, font o layout.Esempio:

body {
  background-color: #f9f9f9;
}

h1, h2, h3 {
  font-family: 'Roboto', sans-serif;
  color: #333;
}

2. Sovrascrivere i file del parent

Se vuoi modificare un template del tema principale (ad esempio header.php), copia quel file dal tema parent al tema child e poi modificalo. WordPress darà priorità alla versione del child.

3. Aggiungere funzioni personalizzate

Nel file functions.php puoi aggiungere funzioni PHP senza toccare il parent.Esempio: aggiungere un link extra al menu di login.

function custom_footer_text() {
    echo '<p>© ' . date('Y') . ' - Tutti i diritti riservati</p>';
}
add_action('wp_footer', 'custom_footer_text');

Passo 6 – Buone pratiche

Per usare correttamente un tema child, tieni a mente queste regole:

  • Mantieni il parent aggiornato: gli update del tema parent sono fondamentali per la sicurezza.
  • Non copiare file inutili: aggiungi solo i file che vuoi modificare.
  • Usa i commenti: annota le modifiche nel tuo CSS o PHP per ricordare cosa hai cambiato.
  • Testa prima in staging: se possibile, prova le modifiche su un sito di test prima di applicarle in produzione.

Errori comuni da evitare

  • Scrivere un nome sbagliato nel campo Template del style.css.
  • Dimenticare di caricare lo stile del parent nel functions.php.
  • Modificare i file direttamente nel tema parent.
  • Usare spazi o caratteri speciali nel nome della cartella del tema child.

Alternative al tema child

Se vuoi personalizzare solo piccole parti del tuo sito senza creare un tema child, puoi valutare altre soluzioni:

  • CSS personalizzato da Customizer → utile per piccole modifiche di stile.
  • PluginChild Theme Configurator
  • Plugin di snippet PHP → come Code Snippets, per aggiungere funzioni senza modificare functions.php.
  • Theme Builder → plugin come Elementor Pro o Divi permettono di creare template personalizzati senza codice.

Tuttavia, per modifiche più profonde e professionali, il tema child resta la scelta migliore.


Ottimizzare il tema: la base per un sito WordPress solido

Creare un tema child WordPress non è complicato e ti permette di personalizzare il tuo sito senza rischiare di perdere tutto a ogni aggiornamento del tema principale.

Con pochi file (style.css e functions.php) puoi costruire una base solida per tutte le tue modifiche. Da lì, hai la libertà di sperimentare con CSS, PHP e template, sapendo che il tema parent rimane intatto e aggiornabile.

Se vuoi imparare davvero a conoscere WordPress e creare siti professionali, padroneggiare i child theme è un passo fondamentale per costruire progetti sicuri, duraturi e facili da mantenere.