Cos’è un tema figlio?

Un tema figlio o un child theme non è altro che un tema che eredita le funzionalità del parent theme (il tema che vuoi personalizzare) e le estende.

Se lavori con WordPress, sicuramente ti sarà capitato, almeno una volta, di dover cambiare qualcosa nel tema del tuo sito, andando a modificare i files style.css, functions.php o addirittura creare nuovi templates o features veri e propri.

Se l’hai fatto, perché sicuramente l’hai fatto, tutti l’abbiamo fatto e lo sai, è giunto il momento di smettere;

Ecco alcuni motivi:

  1. Se modifichi il tema principale i tuoi cambiamenti al prossimo update verranno sovrascritti (a meno che tu non abbia un backup da cui ricopiare i files persi)
  2. Ti permette di tenere il tuo codice organizzato in pochi files
  3. Riapplicare le tue modifiche dopo un update potrebbe essere più complicato del previsto se molte cose sono cambiate durante l'aggiornamento

Bene, forse avrai capito che le tue modifiche potrebbero andare perse e che potresti aver bisogno di lavorare più del previsto. Queste sono solo alcune una delle tante motivazioni per cui non dovresti mai andare a toccare i files del tuo tema, a meno che tu non sappia cosa stai facendo, e se è così questo articolo non è per te.

Come si crea un child theme?

Nel nostro esempio, creeremo un child theme del tema twentynineteen.

Il tema sarà composto da:

  1. Una directory che conterrà i files del tuo child theme
  2. Il file style.css
  3. Il file functions.php

Per creare il tema:

  • Crea una cartella in wp-content/themes e chiamala my-child-theme
  • Crea style.css e copia:

style.css:


/*

Theme Name: My Child Theme

Theme URI: https://desseo.it (URL del tuo child theme)

Description: Il mio primo child theme

Author: Desseo

Template: twentynineteen

Version: 1.0.0 

*/
  • Crea functions.php e copia:functions.php:
    <?php add_action( 'wp_enqueue_scripts', 'my_child_theme_enqueue_styles' ); function my_child_theme_enqueue_styles() { $parent_style = 'parent-style'; $parent_style_path = get_template_directory_uri() . '/style.css'; $style_path = get_stylesheet_directory_uri() . '/style.css'; wp_enqueue_style( $parent_style, $parent_style_path ); wp_enqueue_style( 'child-style', $style_path, [ $parent_style ], wp_get_theme()->get('Version') ); }
  • Questa dovrebbe essere la struttura del tuo tema:

    struttura tema

    Come attivare il tuo tema?

    Per attivare il tuo tema non ti resta che andare in Temi->My child theme->Attiva

    attivazione tema figlio wordpress

    Leave a Reply