Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Search WordPress.org
Home Page
Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!
WordPress Lessons
Getting Started
it:Temi Child
Working with WordPress
Troubleshooting
About WordPress
Si è scelto di mantenere la denominazione Child per i Child Themes perchè la traduzione letterale appariva poco consona
all'ambito e al modo in cui si intende riferirsi a questi temi nell'ambito di WordPress. Si tratta di una scelta che abbiamo fatto anche
Codex Resources
nella traduzione italiana di WordPress dove alcuni termini (link, template ecc) sono rimasti nella forma inglese (eliminando ove
Community portal
necessario la forma plurale) sia perchè i termini sono oramai entrati nell'uso quotidiano sia perchè la loro traduzione appariva in
Current events
certi casi ridicola o inopportuna nel contesto. Quando si faranno dei riferimenti generici ai temi figli si utilizzerà invece luna
traduzione completa, in pratica quando il riferimento sarà in maiuscolo verrà mantenuta la denominazione originale altrimenti verrà Recent changes
tradotto completamente
Random page
Help
Un tema figlio in WordPress è un tema che eredita le funzionalità di un altro tema, denominato tema genitore e che vi permette di
modificare o di aggiungere funzionalità del tema genitore. Un tema Child è il sistema più semplice e sicuro per modificare un tema
esistente sia che vogliate apportare delle semplici modifiche sia che voglia fare dei cambiamenti significativi. Anziché modificare
direttamente i file del tema, potete creare un tema Child. Un tema Child eredita tutti i template (modelli) e le funzionalità del suo tema
genitore, ma permette di modificare il tema genitore poiché il codice del tema Child sovrascrive quello del tema genitore.
/*
Theme Name: Twenty Thirteen Child
Theme URI: http://example.com/
Description: Tema Child per il tema Twenty Thirteen
Author: Qui il vostro nome
Author URI: http://example.com/about/
Template: twentythirteen
Version: 0.1.0
*/
Potete cambiare ciascuna di queste righe secondo le necessità del vostro tema. La sole righe obbligatorie sono il Theme Name e
Template. Il Template è il nome della directory del tema genitore. In questo caso il tema genitore è il tema TwentyThirteen quindi
https://codex.wordpress.org/it:Temi_Child 1/4
30/12/2017 it:Temi Child « WordPress Codex
Template è twentythirteen, che è il nome della directory dove risiede il tema TwentyThirteen. Se desiderate creare un tema child di un
tema con il nome della directory un-pazzo-nome-di-directory, allora dovrete utilizare Template: un-pazzo-nome-di-directory.
Il foglio di stile del tema child sovrascriverà l foglio stile del tema genitore, ma è probabile che vorrete includere il foglio stile del
tema genitore. Per fare ciò non si dovrebbe usare la funzione @import nel foglio di stile del tema child, ma la funzione
wp_enqueue_style() nel file "functions.php". Dovrete creare questo file nella cartella principale del vostro tema child, ed inserirvi il
seguente codice:
<?php
Attenzione : Utilizzando il codice precedente (@import) il foglio di stile del tema child viene caricato due volte, come fatto notare in
questo post.
Attivare il tema child. Effettuate la login alla bacheca del vostro sito e andate in Pannello di amministrazione > Aspetto > Temi. Qui
troverete elencato il tema child. Fate click per attivarlo.
File di Template
Se volete fare altre modifiche oltre al foglio di stile, il vostro tema child può sovrascrivere qualsiasi file del tema genitore: per farlo
bastera inserire un file con lo stesso nome nella directory del tema child theme directory e questi sovrascriverà il file equivalente
presente nella directory del tema genitore. Per esempio, se desiderate cambiare il codice per la testata del sito, potete includere un
file header.php nella directory del vostro tema child e questo file verrà utilizzato al posto del header.php del tema genitore.
È possibile anche includere file nel tema child che non sono presenti nel tema genitore. UN esempio può essere che desideriate
creare un template più specifico rispetto a quelli disponibili nel tema genitore, come ad esempio un template specifico per una pagina
particolare o per un archivio di categoria. Si veda la Gerarchia dei template per ulteriori informazioni su come WordPress determina
quale template utilizzare.
Utilizzare functions.php
A differenza di style.css, il functions.php di un tema child non sovrascrive il file corrispondente nel tema genitore. Viene invece
caricato in aggiunta al functions.php del genitore. (Più in dettaglio, viene caricato subito prima del file del genitore.)
Inq uesto modo il functions.php del tema child fornisce un metodo semplice e poco problematico per modificare le funzionalità del
tema genitore. Si imagini di voler aggiungere una funzione PHP al proprio tema. Il metodo più rapido è di aprire il file functions.php ed
inserirvi la funzione. Ma nons i tratta di una cosa furba: La prossima volta che il vostro tema verrà aggiornato la funzione sparirà. Ma
esiste un'alternativa che è la strada più intelligente: potete creare un tema child aggiungervi un file functions.php ed aggiungere la
vostra funzione a questo file. La funzione svolgerà esattamente lo stesso lavoro, con il vantaggio di non venir influenzata da futuri
aggiornamentidel tema genitore. Non copiate l'intero contenuto del functions.php del tema genitore all'interno del functions.php del
tema child.
La struttura di functions.php è semplice: Un tag di apertura PHP in cima, un tag di chiusura PHP alla fine ed in mezzo i vostri pezzi di
codice PHP. Dentro questo file potete inserire quante funzioni desiderate. L'esempio seguente mostra un file functions.php elementare
che fa una sola semplice cosa: Aggiunge una link ad una favicon all'elemento head delle pagine HTML.
function favicon_link() {
echo '<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />' . "\n";
}
add_action( 'wp_head', 'favicon_link' );
SUGGERIMENTO AGLI SVILUPPATORI DI TEMI. Il fatto che il functions.php del tema child viene caricato per primo significa che
dovrete rendere le funzioni utente del vostro tema pluggable —che significa rimpiazzabili da un tema child— dichiarandole
condizionali. Es.:
In questo modo un tema child può sostituire una funzione PHP del tema genitore dichiarandola semplicemente per primo.
https://codex.wordpress.org/it:Temi_Child 2/4
30/12/2017 it:Temi Child « WordPress Codex
Ecco un esempio, che utilizza require_once e che mostra come è possibile utilizzare get_stylesheet_directory quando si fa
riferimento ad un file memorizzato nella struttura delle directory del vostro tema child.
Supporto RTL
Per supportare i linguaggi RTL aggiungere un file rtl.css al proprio tema child, contenente:
/*
Theme Name: Twenty Thirteen Child
Template: twentythirteen
*/
@import url("../twentythirteen/rtl.css");
WordPress caricherà automaticamente il file rtl.css solo se is_rtl() è true. Anche se il tema genitore non ha un file rtl.css, è
raccomandato aggiungere un file rtl.css al proprio tema child.
Internazionalizzazione
I temi Child, come le altre estensioni, dovrebbero essere preparati in maniera da poter essere tradotti in altre lingue utilizando le
funzioni gettext. Per uan panoramica si veda I18n for WordPress Developers. In questa sezione tratteremo alcune considerazioni
particolari riguardanti l'internazionalizzazione dei temi child.
Iniziare aggiungendo una directory per le lingue. Tipo my-theme/languages/ che è adatta allo scopo.
quindi occorre caricare un textdomain. load_child_theme_textdomain() è la funzione da utilizzare in functions.php durante la action
after_setup_theme. Il codice segunete dimostra come:
<?php
/**
* Impostare il textdomain del Tema My Child Theme's.
*
* Dichiara il textdomain per il tema child .
* Le traduzioni verranno inserite nella directory /languages/ .
*/
function my_child_theme_setup() {
load_child_theme_textdomain( 'my-child-theme', get_stylesheet_directory() . '/languages' );
}
add_action( 'after_setup_theme', 'my_child_theme_setup' );
?>
A questo punto, le stringhe inserite nel tema child sono pronto per essere preparate alla traduuzione. Ecco un semplice esempio che
stampa la frase "Code is Poetry":
<?php
_e( 'Code is Poetry', 'my-child-theme' );
?>
Il textdomain definito in load_child_theme_textdomain() verrà utilizato per tradurre tutte le stringhe del tema child. Nel caso si includa
un file di template dal genitore il textdomain dovrà venir modificato da quello definito per il genitore a quello definito dal child.
Risorse
Theme Development
How to Modify WordPress Themes the Smart Way - una serie in quattro parti sui temi child
How to Create a Child Theme
Guide to WordPress Child Theme Development
How to: Create a Child Theme Based on Twenty Eleven
Customizing Your WordPress Theme Using Firebug
Tutorial: Child Themes Basics and Creating Child Themes in WordPress
How to Modify the Parent Theme Behavior Within the Child Theme
Child Themify - un plugin per creare un tema child
Categories:
it:Design and Layout
it:UI Link
https://codex.wordpress.org/it:Temi_Child 3/4
30/12/2017 it:Temi Child « WordPress Codex
Follow @WordPress
https://codex.wordpress.org/it:Temi_Child 4/4