Creazione tema figlio (Child Theme)

Quando hai necessità di modificare un template di terzi che hai installato su WordPress, la best practice vorrebbe che fosse fatto tramite un tema child – child theme.

Un template child non è altro che un tema per WordPress che eredita dal tema padre (parent) tutte le funzioni e l’aspetto, ma con la particolarità che puoi sovrascrivere alcune funzioni e l’aspetto tramite i fogli di stile (css).

Grazie alle caratteristiche dei child themes potrai modificare o aggiungere funzioni al tema principale senza intervenire sul codice del tema, in questo modo quando sarà disponibile un aggiornamento per il tema potrai farlo senza problemi e senza ricordarti le modifiche hai fatto sul tema.

Vediamo come creare un tema figlio in modo molto veloce. Crea una directory all’interno di wp-content/themes/ con il nome che vuoi dare al tema figlio esempio: temafiglio

Poi crea all’interno il file functions.php con questo contenuto:


/**
Setup My Child Theme's textdomain.
*
Declare textdomain for this child theme.
Translations can be filed in the /languages/ directory.
*/
function child_languages() {
load_child_theme_textdomain( 'childtextdomain', get_stylesheet_directory() . '/languages' );
}
add_action( 'after_setup_theme', 'child_languages' );

add_action( 'wp_enqueue_scripts', 'child_style' );
function child_style() {
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')
);
}

Infine copia il file style.css del tema principale nella directory del tuo tema e modifica l’intestazione del file come segue:


/*
Theme Name: Tema Figlio
Theme URI: http://example.com/
Description: Tema Child per il tema Twenty Thirteen
Author: Nome Autore
Author URI: http://example.com/about/
Template: NOME-DEL-TEMA-PADRE
Version: 0.1.0
Textdomain: childtextdomain
*/

Attenzione alla voce Template,  devi inserire esattamente il nome del tema genitore, la stringa esatta da usare è il nome della directory del tema padre.

Puoi anche creare un file style.css vuoto e inserire solo l’intestazione.

Maggiori info a questo indirizzo https://codex.wordpress.org/Child_Themes