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