WordPress si è evoluto nel corso degli anni da un semplice sistema di blogging a un CMS per tutti gli usi ed è ormai diventato parte in­te­gran­te del World Wide Web. Con la sua crescente po­po­la­ri­tà, molti pro­fes­sio­ni­sti WordPress si sono spe­cia­liz­za­ti nel fornire temi WordPress​​​​​​​ da usare come modelli nella creazione di siti web. Questi temi includono pra­ti­ca­men­te tutte le fun­zio­na­li­tà e cor­ri­spon­do­no anche vi­si­va­men­te alle aspet­ta­ti­ve ap­pros­si­ma­ti­ve degli operatori di siti Internet. Sarà comunque ne­ces­sa­rio apportare qualche modifica al codice o alla struttura per adattare il sito al design aziendale. Ma cosa succede a questi cam­bia­men­ti quando il tema viene ag­gior­na­to? È qui che entrano in gioco i temi child WordPress.

Che cos’è un tema child di WordPress?

Per evitare che un ag­gior­na­men­to del vostro tema di WordPress so­vra­scri­va le vostre modifiche, è im­por­tan­te creare un tema child. Un tema child è, come sug­ge­ri­sce il nome, il “figlio” di un tema genitore (parent) al quale è collegato in modo che ne assuma l’aspetto e le funzioni. Quando per­so­na­liz­za­te il tema child, vengono au­to­ma­ti­ca­men­te so­vra­scrit­te le istru­zio­ni del tema parent. Le modifiche non in­flui­sco­no quindi sul tema parent. Quando deve essere eseguito un ag­gior­na­men­to del tema parent, le modifiche al tema child ri­mar­ran­no invariate.

Consiglio

Durante l’ese­cu­zio­ne di im­por­tan­ti modifiche o ag­gior­na­men­ti, è possibile che sul sito web appaiano dei messaggi di errore. Per evitare mal­con­ten­to tra gli utenti, vi con­si­glia­mo di attivare la modalità di ma­nu­ten­zio­ne di WordPress.

Da cosa è composto un tema child?

Un tema child può avere diversi com­po­nen­ti. Gli elementi decisivi sono le modifiche apportate e i file in cui vengono eseguite. Ci sono, tuttavia, alcuni file che è ne­ces­sa­rio creare per ogni tema child per ga­ran­tir­ne un fun­zio­na­men­to im­pec­ca­bi­le:

Ma perché un tema child ha bisogno di questi tre file?

Come fun­zio­na­no i temi child di WordPress

Come accennato, un tema child non può fun­zio­na­re senza i file men­zio­na­ti sopra. I file hanno le seguenti funzioni:

  • style.css contiene tutte le regole CSS e le di­chia­ra­zio­ni che con­trol­la­no l’aspetto del tema. La parte più im­por­tan­te è l’area dell’in­te­sta­zio­ne. Qui, il file CSS comunica a WordPress che si tratta di un tema child con un de­ter­mi­na­to tema parent, oltre a fornire altre in­for­ma­zio­ni di base.
  • function.php determina l’ordine in cui vengono caricati i fogli di stile del tema parent e di quello child. Affinché le modifiche del tema child so­vra­scri­va­no le istru­zio­ni del tema parent, il browser deve caricare il foglio di stile del tema child dopo quello del tema parent.
  • screen­shot.png è un file fa­col­ta­ti­vo, ma è comunque utile perché permette di ri­co­no­sce­re di­ret­ta­men­te il tema child nella bacheca WordPress. Il CMS vi­sua­liz­za au­to­ma­ti­ca­men­te i file screen­shot.png nel menu del tema vicino al modello cor­ri­spon­den­te.
N.B.

Per apportare modifiche piccole al tema ci sono anche soluzioni più semplici come il Simple Custom CSS Plugin o il Cu­sto­mi­zer integrato dalla versione 4.7 di WordPress.

Vantaggi e svantaggi dei temi child

Un tema child apporta diversi vantaggi ma al tempo stesso comporta anche alcuni svantaggi, motivo per cui si dovrebbe valutare se abbia senso crearne uno per attuare solo modifiche minori al CSS:

Vantaggi Svantaggi
Le modifiche non vengono so­vra­scrit­te quando si aggiorna il tema parent. L’ag­gior­na­men­to del modello originale colma soltanto le lacune di sicurezza dei file dei modelli che si trovano nella cartella del tema parent. Le lacune nei file del tema child, invece, non vengono risolte.
Un tema child offre più libertà rispetto alle opzioni della bacheca di WordPress. È possibile, ad esempio, adattare la struttura del sito web o ag­giun­ge­re altre funzioni al tema. Il ca­ri­ca­men­to di due fogli di stile da parte del browser può influire ne­ga­ti­va­men­te sulle pre­sta­zio­ni.
Le per­so­na­liz­za­zio­ni del CSS in style.css sono più chiare rispetto a quelle del Cu­sto­mi­zer di WordPress.  
I temi child di WordPress sono ideali per prin­ci­pian­ti che vogliono conoscere meglio il CMS. Se si verifica un errore, è sempre possibile tornare al tema parent.  
I temi child possono ac­cor­cia­re i tempi di sviluppo del sito web.  

Come creare un tema child su WordPress: tutorial

Ora che abbiamo ap­pro­fon­di­to le ca­rat­te­ri­sti­che di un tema child, vediamo come crearne uno fun­zio­nan­te.

Passaggio 1: creare una cartella per il tema child

Con­net­te­te­vi al vostro server tramite un client FTP (come FileZilla) e navigate nell’in­stal­la­zio­ne di WordPress alla seguente cartella:

il-vostro-percorso-all-installazione-wordpress/wp-content/themes/

A questo punto create una cartella per il tema child. Usate il nome del tema parent e ag­giun­ge­te “-child” alla fine.

Passaggio 2: creare un foglio di stile per il tema child

Create un file style.css e copiate le seguenti in­for­ma­zio­ni nell’in­te­sta­zio­ne con un editor di testo:

/*
 Theme Name:	[Nome del tema parent] child
 Theme URI:	[http://example.it/parent-theme/]
 Description:	[Nome del tema parent] Child Theme
 Author:	[Il vostro nome]
 Author URI:	[L’URL del vostro sito]
 Template:	[Nome della cartella del tema parent] 
 Version:	1.0.0
Text Domain:	[Nome del tema parent] -child
*/

So­sti­tui­te i se­gna­po­sto tra parentesi quadre con le vostre in­for­ma­zio­ni. Non è ne­ces­sa­rio integrare tutti i punti; le uniche in­for­ma­zio­ni in­di­spen­sa­bi­li per il corretto fun­zio­na­men­to del tema child sono:

  • Theme Name: ogni tema deve avere un nome, compreso il tema child. Questo nome deve essere univoco e non deve essere uti­liz­za­to da un altro tema nella vostra in­stal­la­zio­ne di WordPress.
  • Template: grazie a questa in­for­ma­zio­ne, WordPress riconosce che si tratta di un tema child WordPress del tema parent spe­ci­fi­ca­to.

Quando il file è pronto, ca­ri­ca­te­lo nella cartella del tema child tramite il client FTP.

Passaggio 3: caricare cor­ret­ta­men­te il foglio di stile nel file function.php

Nel migliore dei casi, il tema parent contiene già l’istru­zio­ne per caricare il foglio di stile del tema child WordPress, ma non è così per tutti i modelli. Ecco perché è im­por­tan­te ve­ri­fi­ca­re il com­por­ta­men­to del tema parent. Gli scenari possibili sono tre:

  1. Il tema parent carica entrambi i fogli di stile. In questo caso, non è richiesta alcuna azione da parte del tema child.
  2. Se il tema parent carica il proprio foglio di stile tramite get_template_directory() o get_template_directory_uri(), il tema child deve caricare nel file function.php soltanto il proprio foglio di stile con il nome cor­ri­spon­den­te del foglio di stile del tema parent come parametro.
  3. Se il tema parent carica il proprio foglio di stile tramite get_sty­le­sheet_directory() o get_sty­le­sheet_directory_uri(), il tema child deve caricare entrambi i fogli di stile nel file function.php. As­si­cu­ra­te­vi di ri­pren­de­re esat­ta­men­te il nome del foglio di stile del tema parent.

Se si verifica il secondo caso, il function.php apparirà come segue:

<!--?php</codesnippet-->
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
function my_theme_enqueue_styles() {
	wp_enqueue_style( 'child-style', get_stylesheet_uri(),
		array( 'Nome del foglio di stile del tema parent'), 
		wp_get_theme()->get('Versione') // Funziona solo se la versione è specificata anche nell’intestazione del foglio di stile 
	);
}
?>

Se il tema child deve caricare entrambi i fogli di stile tramite function.php, il codice appare così:

<!--?php</codesnippet-->
function child_theme_styles() {
wp_enqueue_style( 'Nome del foglio di stile del tema parent', get_template_directory_uri() . '/style.css'); 
wp_enqueue_style( 'css tema child', get_stylesheet_directory_uri() .'/style.css' , array('Handle Nome del foglio di stile del tema parent'));
}
add_action( 'wp_enqueue_scripts', 'child_theme_styles' );
?>

Inserite il file function.php insieme al file style.css nella cartella del tema child.

N.B.

Fa­col­ta­ti­va­men­te, è possibile salvare un file di immagine con il nome screen­shot.png nella cartella del tema child. WordPress vi­sua­liz­za questa immagine nella bacheca del tema per fa­ci­li­tar­ne il ri­co­no­sci­men­to.

Passaggio 4: attivare il tema child

Una volta creato il tema child, è possibile attivarlo come qualsiasi altro tema nella bacheca di WordPress. Accedete alla bacheca e se­le­zio­na­te il tema child sotto “Aspetto” > “Temi”.

N.B.

Se avete già ef­fet­tua­to delle per­so­na­liz­za­zio­ni nel tema parent uti­liz­zan­do il Cu­sto­mi­zer di WordPress, le modifiche andranno perse quando at­ti­ve­re­te il tema child. Il plugin Cu­sto­mi­zer Export/Import consente di esportare e quindi reim­por­ta­re le im­po­sta­zio­ni del Cu­sto­mi­zer.

Adesso il tema child è pie­na­men­te operativo. Se de­si­de­ra­te apportare modifiche ad altri file del modello, copiate il file dal tema parent e in­se­ri­te­lo nella cartella del tema child. Il percorso deve cor­ri­spon­de­re esat­ta­men­te a quello del tema parent. Il file del tema parent viene au­to­ma­ti­ca­men­te so­vra­scrit­to dal file nella cartella del tema child WordPress.

Consiglio

Con il Hosting per WordPress di IONOS ottenete una piat­ta­for­ma di hosting spe­ci­fi­ca­men­te ot­ti­miz­za­ta che sem­pli­fi­ca il vostro percorso di creazione di un sito web WordPress.

Vai al menu prin­ci­pa­le