I temi child sono stati introdotti da quando WordPress è arrivato alla versione 3.0, e sono stati una rivoluzione nel metodo di lavoro per tutti quelli che sanno “smanettare” un pò con il codice e vogliono personalizzare o rendere originale il logo blog o sito in WP.

Per fare ciò, l’uso di un tema child è fondamentale per personalizzare temi di terze parti creati o acquistati da siti tipo ThemeForest.

Ma perchè usare un tema child?

Come detto pocanzi, spesso lavorando in WordPress, ci si trova costretti a dover modificare il codice “sorgente” di un tema per rispettare alcune esigenze personali o richieste da un cliente. Il problema sorge quando dopo aver perso ore e ora a modificare un tema per renderlo personale, esce una nuova versione di quest’ultimo, più aggiornata e più sicura. Beh aggiornarlo a quel punto vuol dire perdere tutto questo lavoro ed ecco perchè ci vengono in soccorso i temi child.

Molto semplicemente, le modifice che vengono fatte in un tema figlio, vanno a sovrapporti a quello principale lasciando pero il tema “madre” intatto. Il tema child perciò acquisisce tutte le caratteristiche del tema originale, rendendole però personalizzabili e modificabili senza perdere la possibilità di eventuali aggiornamenti del produttore.

I temi child possono essere dei semplici .css fino ad intere parti di template come header, footer o single.php.

Qualsiasi sia la modifica, andrò a sovrapporti al tema genitore.

Come creiamo un tema child? (Guida Rapida alla creazione)

1. Creare la cartella (directory) del tema child.
Attraverso un programma di gestione ftp o attraverso il plesk (se lo possedete), andiamo a creare una cartella con un nome a scelta (io consiglio lo stesso nome del tema seguito da -child) e la posizioniamo dove solitamente andiamo a caricare un comunissimo tema in WordPress (wp-content/themes).

2. style.css è il primo file da creare.
La prima cosa da fare dopo aver creato la nostra cartella per il child, è definire lo style.css che andrà a fornire a WordPress tutte le informazioni necessarie a fargli capire che quello è il figlio del tema padre.

3. Struttura di base del file style.css nel tema child
Con il nostro block notes o programma di creazione codice, andiamo a creare un foglio stile chiamato per l’appunto “style.css” dove al suo interno andremo ad inserire le seguenti informazioni:

/*
Theme Name: Twenty CreareCreatività TenTheme
URI: http://robrota.org/
Description: Variazioni a casaccio sul tema originale Twenty Ten di
WordPressAuthor: Creare Creatività
Version: 0.1b
Template: twentyten
*/ 

@import url(“../twentyten/style.css”);

La prima parte contenuta nel commento ( /* …. */ ) fornisce a WordPress le informazioni riguardanti il nuovo tema (nome, descrizione, autore).

La riga importante è quella che inizia con Template, con la quale si va ad indicare il tema da utilizzare come genitore. Questa deve corrispondere perfettamente al nome della cartella del tema che vogliamo legare (rispettando anche maiuscole, minuscole e spazi).

L’ultima riga è una direttiva CSS vera e propria che dice al tema figlio di caricare tutto il file CSS del tema genitore grazie al percorso tra le parentesi. Il percorso che vi ho indicato è uguale per tutti i temi WordPress, ovviamente sarà da sostituire il nome del tema (in questo caso twentyten) con quello del tema utilizzato.

Solitamente se qualcosa deve essere applicato in maniera differente, viene scritto dall’autore sulle documentazioni del tema.
Spesso gli sviluppatori mettono a disposizione, per i loro temi, dei veri e propri template per utilizzare i temi child che vi faciliteranno e velocizzeranno il lavoro.

4. Attivare il tema child

Se non è stato sbagliato nulla, a questo punto dovremmo trovarci il tema child tra i temi disponibili nel nostro WordPress, ed andrà attivato come un normalissimo tema.

5. Come modificare altri elementi

Per modificare altre pagine come ad esempio il single.php, basterà semplicemente scaricarsi la pagina .php del tema padre e caricarla nella cartella child in precedenza caricata per poi modificarla.

6. Ricordiamo che
Il nuovo tema child carica prima tutti i CSS ed i template che sono nella sua cartella. Se lo stesso file è presente sia nella cartella del tema child che in quella del tema originale, il primo viene utilizzato al posto del secondo. I file mancanti nella cartella del tema child, WordPress li va a prendere nella cartella del tema genitore.

Insomma in poche parole il tema child ha la priorità assoluta su quello genitore, quindi se andremo a modificare delle istruzioni nello style.css, queste andranno a sostituirsi alle regole analoghe dello style.css genitre.
La stessa identica cosa funziona anche per le altre pagine come header.php, index.php, footer.php etc, questi se caricati nella cartella child, vengono visualizzati al posto degli stessi file del tema originale.

L’eccezzione del funcion.php

Se per tutto il template vale  la regola che il file del tema child sostituisce quello del tema originale, non è la stessa cosa per il file delle funzioni del tema, il function.php (da non confondere con l’omonimo file di WordPress, situato nella cartella wp-includes).
Il file function.php del tema child non si sostituisce quello originale ma lo implementa. Praticamente il file function.php può essere un file dove aggiungere nuove funzioni e modificare le originali, ma tutte le altre funzioni presenti nel file genitore verranno sempre caricate.

Conclusione

In conclusione io consiglio l’utilizzo dei temi child a tutti quelli che masticando un pò di codice vogliono rendere il loro tema, seppur acquistato online, unico e personalizzato.