Tutorial tema-child2

Transcript

Tutorial tema-child2
Sommario
Tutorial per creare un tema child in WordPress Introduzione ......................................................................... 2
Perché utile creare un tema child? ................................................................................................................... 2
La cartella per il nuovo tema child. .................................................................................................................. 2
Il primo file del nuovo tema child. .................................................................................................................... 2
Struttura di base del file style.css nel tema child ............................................................................................. 3
Attivare il nuovo tema ...................................................................................................................................... 4
Modificare un thema child per WordPress! ..................................................................................................... 5
Il tema child ha la priorità! ............................................................................................................................... 7
Proviamo adesso a fare una modifica … ........................................................................................................... 7
1
Tutorial per creare un tema child in WordPress
Introduzione
I temi child permettono di personalizzare un tema senza dover modificare il tema
originale.
Il tema child deve contenere tutti i file che andremo a copiare dal tema originale e che
abbiamo intenzione di modificare: WordPress darà priorità di caricamento ai file del
tema child presenti, ignorando quelli del tema parent (genitore). I file che invece non
saranno stati copiati dal tema parent al tema child, verranno comunque letti da
WordPress dalla cartella del tema originario. Per chiarire meglio la questione,
immaginiamo di creare un tema child con il solo file style.css (unico file richiesto
necessariamente affichè il tema child possa esistere): attivando questo tema child,
WordPress leggerà il contenuto del file style.css dal nuovo tema appunto, ma
continuerà a leggere le altre pagine (come ad esempio 404.php o header.php ecc) dal
tema orginario.
Se invece volessimo apportare modifiche ad altri file dobbiamo copiare nella cartella i
file che ci interessano.
Perché utile creare un tema child?
In caso di aggiornamento del tema originario, non perderemo le modifiche fatte sul
file style.css del tema child. È consigliabile ricreare il tema child con i nuovi file
copiandoli dal tema originale aggiornato e riapplicando quindi le modifiche.
Lavorando su un tema child inoltre, in caso di errore nei file è sufficiente riattivare il
tema originario per ripristinare l’operatività del sito, non compromettendone quindi
l’efficienza.
La cartella per il nuovo tema child.
Personalmente preferisco creare la cartella in locale e poi trasferirla via ftp dove
solitamente ci sono i temi di WordPress, ossia wp-content/themes, per comodità dare
un nome alla cartella che riporti al nome del tema che vogliamo utilizzare come tema
genitore più il suffisso -child, quindi nel nostro caso pasw2015-child
Il primo file del nuovo tema child.
La prima cosa da fare nella cartella del nuovo tema è la creazione del file style.css. Si
potrebbe tranquillamente fare una copia dello stesso file del tema genitore, oppure
potrebbe essere più comodo partire da un file vuoto e riportare solo la modifica.
2
Struttura di base del file style.css nel tema child
Il file style.css è fondamentale, oltre a definire i CSS del nuovo tema, fornisce a
WordPress tutte le informazioni necessarie per fargli capire che il tema che stiamo
realizzando è figlio legittimo di cotanto padre. Tutto avviene nella prime righe
commentate del file:
/*
Theme Name: Pasw2015 Child (scrivere il nome del tema che si vuole utilizzareimportante)
Description: Tema Child per il tema pasw2015(a piacere)
Author: Cate (a piacere  )
Author URL: http://catewp2.altervista.org/ (URL:del sito)
Template: pasw2015 (importante)
Version: 0.1 (è il mio primo esperimento ;)
*/
@import url("../pasw2015/style.css"); (attenzione: digitare i punti e punto e virgola )
Riporto immagine del file .css
3
Ricapitolando: La prima parte commentata ( /* …. */ ) fornisce a WordPress le
informazioni riguardanti il nuovo tema, come la descrizione, l’autore e altre cose.
La riga importante della prima parte è quella che inizia con Template, con la quale si
va ad indicare il tema che vogliamo utilizzare come genitore. Deve corrispondere al
nome della cartella del tema in questione ed è importante rispettare
maiuscole/minuscole del nome della cartella (generalmente tutta in minuscolo).
L’ultima riga è un’istruzione di caricamento CSS vera e propria. È importante, e dice al
tema figlio di caricare tutto il file CSS del tema originale, grazie al percorso indicato
tra le parentesi tonde. Questo percorso è valido per qualsiasi installazione di
WordPress, ovviamente riferita al tema, indicato, originale. In caso di altri temi, basta
solo sostituire, in questo caso Pasw2015, con il nome della cartella del tema.
Attivare il nuovo tema
A questo punto possiamo attivare il nuovo tema child, se non abbiamo sbagliato
niente nell’intestazione del file style.css ce lo troveremo tra i temi disponibili, con il
nome e la descrizione che abbiamo indicato. Non ci sarà nessuna immagine di
anteprima, ma è normale e non è un problema funzionale.
4
Se proprio volessimo, per averla occorre mettere un file immagine chiamato
screenshot.png (una immagine di dimensioni 300 x 250 pixel) nella cartella del tema
child. È possibile copiare quella del tema originale, o farne una personalizzata.
Ecco come si presenterebbe
Modificare un thema child per WordPress!
Così com’è, il nuovo tema è una copia precisa del tema genitore. Se così non fosse
abbiamo sbagliato qualcosa nelle poche istruzioni precedenti, oppure il tema originale
richiede istruzioni particolari per la realizzazione di un tema child.
Ora occorre iniziare con la personalizzazione che, ricordiamocelo, va fatta tutta nella
cartella del tema Child e non nel tema genitore, altrimenti vanifichiamo tutto il lavoro
fin qui eseguito.
La regola di base è: 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.
5
I file mancanti nella cartella del tema child, WordPress, li va a prendere nella cartella
del tema genitore. Se volessimo modificare anche i files di template, sarà sufficiente di
volta in volta copiare (copiare mi raccomando non spostare, è diverso, il tema
genitore deve rimanere integro) nella directory “child” il file che vogliamo modificare,
il quale verrà utilizzato in sostituzione di quello originale. Quindi, immaginando di
voler personalizzare header e footer non faremo altro che copiare header.php e
footer.php del template genitore ed inserire i due files nella cartella “child”.
Vedi immagini
6
Il tema child ha la priorità!
Se scriviamo una istruzione CSS nel foglio di stile del tema child, questa sovrascrive
l’eventuale istruzione analoga presente nel foglio di stile originale. Lo stesso per i file
del template.
Quindi, come detto prima, se nel nostro tema child ci mettiamo dei file presi dal tema
originale e li modifichiamo, esempio header.php, index.php, footer.php etc, questi
vengono caricati al posto degli stessi file del tema originale.
Invece per tutti i file mancanti nel tema child, vengono utilizzati i file del tema
originale.
Se vogliamo appunto modificare il piè di pagina del sito, prendiamo il file footer.php
del tema originale, lo copiamo nel tema child, e qui lo modifichiamo. Qualcosa va
storto? Nessun problema, cancelliamo il file dal tema child e immediatamente caricato
quello del tema originale.
Proviamo adesso a fare una modifica …
Per modificare il nostro tema dobbiamo capire dove intervenire e qui ci viene in aiuto,
il componente Firebug, se utilizziamo Firefox (altrimenti in GoogleChrome “Strumenti
per sviluppatori”)
7
Adesso spostiamoci nell’editor del tema child> foglio di style.css modificato:
Questo il risultato ottenuto ho utilizzato colori di “dubbio” gusto ma semplicemente
per notare la differenza :
Unica eccezione: le funzioni del tema, funcion.php
Questo punto è molto importante: se per quanto riguarda le parti del template vale la
regola che il file del tema child sostituisce quello del tema originale, questo non vale
per il file delle funzioni del tema, il file 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 ma si aggiunge a quello del file
originale. Nel tema child il file function.php può essere un file vuoto a cui aggiungere
nuove funzioni e modificare alcune di quelle originali, ma tutte le altre funzioni
presenti nel file originale del tema verranno caricate.
8