Temi child WordPress: cosa sono, come funzionano e come crearne uno
Un tema child (tema figlio) è un tema che acquisisce tutte le funzionalità di un altro tema, detto tema padre.
Perchè è così importante un tema child?
Perchè consente di modificare, aggiungere, eliminare delle funzioni o delle parti di un tema, senza andare a modificare i file del tema padre. Questo è molto importante nel caso utilizzi un tema a pagamento, o comunque un tema che è soggetto ad aggiornamenti, che è sempre bene fare per avere una maggiore sicurezza (spesso vengono corretti errori di sicurezza del tema) e per poter accedere a nuove funzionalità del tema stesso.
Ma cosa succede se modifichi un tema e poi lo aggiorni (magari senza aver fatto il backup)?
Ti uccidi. Perdi tutte le modifiche che hai fatto, ore ed ore del tuo lavoro buttate in cambio di nuove funzionalità e maggior sicurezza… ne vale davvero la pena?
I temi child servono proprio per avere la possibilità di mantenere le personalizzazioni che hai apportato al tema e contemporaneamente avere la possibilità di aggiornare il tema padre accedendo alle nuove funzionalità ed a migliorarne la sicurezza. Strepitoso.
Come creare un tema child
É possibile creare un tema child per qualsiasi tema ed è molto semplice e veloce, al contrario di quello che si possa immaginare.
Prenderò come esempio il tema di default di WordPress, il tema Twenty Eleven. Per creare il tema child di un altro tema, basta che segui i passaggi successivi e sostituisci il nome twentyeleven e Twenty Eleven con il nome del tuo tema, ad esempio con robertoiacono e Roberto Iacono.
Sei pronto? Cominciamo.
Crea sul tuo desktop (o dove vuoi te) una cartella per il tema child, ad esempio twentyeleven-child. Crea un nuovo file con il blocco note ed incolla il seguente codice:
[css]/*
Theme Name: Twenty Eleven Child
Theme URI: https://www.robertoiacono.it/
Description: Tema Child per Twenty Eleven
Author: Roberto Iacono
Template: twentyeleven
Version: 0.1
*/[/css]
Questi codici servono per dare a WordPress le informazioni del tema che verranno visualizzate in Aspetto > Temi >.
- Theme Name: obbligatorio, è il nome del tema
- Theme URI: l’URL della pagina web del tema (se esiste)
- Description: la descrizione del tema
- Author: l’URL del sito dell’autore
- Template: obbligatorio, è il nome della cartella del tema padre, è case sensitive (distingue tra maiuscole e minuscole)
- Version: versione del tema child (fa molto figo)
Queste sono le informazioni principali, ma è possibile aggiungerne molte altre.
Ora inizia la vera parte di definizione dello stile del tema, quindi entra in gioco il CSS, ma non ti spaventare :). Aggiungi al file questo codice:
[css]
@import url("../twentyeleven/style.css");
[/css]
Con questa istruzione dici a WordPress di importare tutto il contenuto del file style.css del tema padre, quindi tutto lo stile del tema originale. É importante non inserire nient’altro tra questo codice e quello precedente, altrimenti non funzionerà.
Così per fare un piccolo test visuale, modifica il colore dello sfondo e del titolo, aggiungi al file questo codice:
[css]
body {
background-color:#1d1e1d;
}
#site-title a{
color: #f00;
}[/css]
Alla fine di questi semplici passaggi, dovresti ottenere questo file:
[css]/*
Theme Name: Twenty Eleven Child
Theme URI: https://www.robertoiacono.it/
Description: Tema Child per Twenty Eleven
Author: Roberto Iacono
Template: twentyeleven
Version: 0.1
*/
@import url("../twentyeleven/style.css");
body {
background-color:#1d1e1d;
}
#site-title a{
color: #f00;
}[/css]
Ora salva il file all’interno della cartella twentyeleven-child e chiamalo style.css.
Copia l’intera cartella sul tuo spazio web via FTP (oppure puoi testarlo in locale) nel percorso wp-content/themes/ . Da notare che non va inserito come sottocartella della cartella twentyeleven, bensì va aggiunto solamente in wp-content/themes/.
Attiva il tema child
Vai su Aspetto > Temi > e cerca il tema dal nome Twenty Eleven child che al momento non dispone di nessuna immagine di anteprima. Se la vuoi aggiungere, è possibile creare e salvare all’interno della cartella twentyeleven-child un’immagine di dimensioni 330 x 225 pixel e di nome screenshot.png.
Clicca su Attiva e vai a vedere come appare il sito ora, dovresti avere lo stesso sito di prima, solamente con lo sfondo grigio scuro ed il titolo rosso.
Sei pronto a smanettare?
Il tema child ora è una copia identica del tema padre (con la piccola variazione del colore del titolo e dello sfondo, così sai che funziona). Ha tutte le sue funzioni e le sue impostazioni, e non aspetta altro che essere personalizzato come si deve.
Ogni variazione di stile (colori, dimensioni testo, immagini e quant’altro) che vorrai fare, andrà fatta sul file style.css del tema child, non su quello del tema padre, altrimenti al prossimo aggiornamento del tema padre perderai tutto.
Ogni variazione che apporterai sul file style.css del tema child, sovrascriverà un’eventuale istruzione analoga del tema padre. É proprio ciò che hai fatto per modificare il colore del titolo e dello sfondo.
É possibile modificare i file del template, ovvero index.php, single.php e tutti gli altri. In questo caso, i file del tema child hanno una priorità maggiore rispetto ai file del tema padre con lo stesso nome. Se due file hanno lo stesso nome (es. index.php) verrà eseguito solamente il file del tema child.
Ad esempio, puoi copiare il file index.php (solitamente questo file viene utilizzato per mostrare il contenuto dell’homepage) del tema padre ed incollarlo nella cartella del tema child. Se provi a modificare il file index.php nella cartella del tema child, vedrai apparire le nuove modifiche. Al prossimo aggiornamento del tema padre, queste modifiche rimarranno attive! (perchè il tema child non viene toccato)
Per il file functions.php (che gestisce le funzioni del tema) invece il discorso è leggermente diverso. Il file functions.php del tema child non verrà caricato al posto del file functions.php del tema padre, bensì verrà caricato prima di quello del padre. In questo modo è possibile gestire in maniera intelligente anche le funzioni del tema padre. Se utilizzi una funzione uguale a quella presente nel tema padre, allora quella child avrà la precedenza (verrà eseguita solo quella).
Utilizza sempre il file functions.php del tema child per aggiungere nuove funzioni.
Per includere dei file che si trovano all’interno della cartella del tema child, utilizza l’istruzione:
[php]include ( get_stylesheet_directory(). ‘/file_da_includere.php’ );[/php]
Modifica attraverso l’editor di WordPress
Se vai su Aspetto > Editor > vedrai il file style.css del tema child, ma anche tutti i file di template del tema padre. Fai sempre molta attenzione e modificare i file tramite l’editor di WordPress, devi essere sicuro a che tema appartiene (child o padre) il file che stai modificando, altrimenti perderai tutto il lavoro al successivo aggiornamento.
Ripeto, se vuoi modificare i file di template, copiali nella cartella del tema child e modificali da lì.
Hai altri suggerimenti da dare? Cosa ne pensi di questi temi child?
23/11/2012 alle 04:04
Ciao roberto, innanzitutto complimenti per il sito! molto utile!
ho cercato in tutto il sito un articolo per visualizzare nella home le thumbnail al posto delle img originali, proprio come hai fatto tu nella tua…
sapresti dirmi come fare? scusa so che è poco pertinente al post ma non sapevo dove scriverti…
grazie!
23/11/2012 alle 09:49
Ciao Luca,
grazie 🙂
Per visualizzare le thumbnail devi lavorare un po’ sul codice del tema. Hai fatto bene a scrivere in questo articolo, in quanto ti consiglio di apportare le modifiche proprio su un tema child e per farlo, segui pure questo post!
Sostanzialmente devi modificare la struttura della home, quindi del file index.php oppure home.php.
Io uso:
the_post_thumbnail('thumbnail')
per mostrare le thumbnail. Le dimensioni sono le stesse che hai impostato in Impostazioni > Media > Thumbnail.
26/11/2012 alle 06:09
grazie! ma purtroppo non credo di riuscire, il mio tema è silverorchid ha un loop, dentro il quale non parla di immagini…
te lo incollo, scusa di solito non chiedo cosi sfacciatamente aiuto, ma non so proprio dove sbattere la testa…
<div id="post-” >
<a href="” title=””>
26/11/2012 alle 09:45
Nei commenti il codice viene rimosso per sicurezza, se vuoi contattami dalla pagina… contattami 🙂
23/11/2012 alle 09:12
Ciao Roberto, utilissimi articoli come sempre! nel caso di un tema padre con widget particolari (la mia home in realtà è costituita da widget), come posso modificarli? trasporto il file direttamente nella cartella del tema child (mantenendo i percorsi)?
23/11/2012 alle 09:56
Ciao Matteo,
grazie!
Esattamente! Basta copiare i file dei widget nella cartella del tema child, mantenendo gli stessi percorsi. Poi modifichi questi nuovi file.
Buon lavoro 🙂
23/11/2012 alle 10:26
Perfetto, grazie mille!!! procedo subito alla creazione, all’ultimo update ho speso due giorni a rifare tutto…
Ciao!
16/12/2012 alle 12:03
Ciao Roberto! Altra utilissima guida che mi son letto e ho messo in pratica.
Ovviamente, problemino 😀
Quando dal pannello WP vado nell’ editor, style.css del tema child è vuoto! ovvero, ci sono i comandi che ho inserito per crearlo
/*
Theme name:
Theme URI:
Description:
Author:
Template:
Version:
*/
tutto funziona perfettamente, tema installato ecc, ma come posso effettuare modifiche?
Esempio, voglio modificare il footer, ma non essendoci nulla nello style.css come posso fare?
Grazie mille
16/12/2012 alle 12:05
Dimenticavo: uso temi a pagamento di elegant themes e i comandi che ti ho scritto sono tutti compilati correttamente eh. Infatti tutto funziona, vedo però style.css vuoto.
Buona domenica!
16/12/2012 alle 14:10
Ho capito cosa intendi… vuoi sapere qual è il codice che devi inserire per modificare la sezioni del tema.
Leggi https://www.robertoiacono.it/come-dove-modificare-wordpress/ , devi capire a quale classse o id si riferisce la sezione che vuoi modificare.
Dopodichè devi usare quella classe o id per creare il codice css.
ad esempio, dovrai scrivere nel tuo file css:
#footer {codice css;}
per modificare lo stile del footer.
Se ti viene più comodo, puoi copiare la parte del codice css originale (nel file style.css originale) ed incollarlo nel file style.css child, poi modifichi questo… ma prima devi sempre capire qual è il codice da modificare.
Ciao
17/12/2012 alle 14:17
Grazie Roberto!
Ho provato ma non va proprio 🙁 Sicuramente sbaglio qualcosa. O potrebbe dipendere dal tipo di tema?
In pratica, nel file css del child theme o aggiunto:
#footer e dentro alle parentesi graffe ho copiato il footer originale, modificandolo a mio piacimento.
E’ corretto?
Grazie ancora 😉
17/12/2012 alle 15:33
Dipende da quale selettore è associato al tuo footer.
Io ho messo #footer perchè solitamente si usa questo, ma potrebbe essere qualsiasi altro nome.
Prima capisci qual è il nome della sezione che vuoi modificare.
Dopodichè, lo inserisci nel file style.css.
Per fare una semplice prova, puoi mettere il testo in colore rosso (così capirai immediatamente se stai modificando il codice oppure no), con color:#f00;
18/12/2012 alle 14:50
Ciao Roberto; di solito cerco sempre di risolvere i miei problemi senza disturbare nessuno, ma trafficanto tra i vari blog; purtoppo per il problema che ho incontrato non ho trovato risoluzione nemmeno nei blog wordpress ufficiali. Premetto che, smanettando, avevo già crato un child per il tema twentyten e tutto aveva funzionato egregiamente. Ho scaricato il tema Elegant grunge per il quale ho eseguito la procedura per la creazione del child theme creando un file Css secondo le regole. Nella bacheca il child theme viene riconosciuto, ma quando lo attivo mi compare, al posto della pagina della bacheca, una pagina bianca con le seguenti scritte:
Warning: require_once(/home/content/73/7166373/html/wp-content/themes/portfolio-child/theme-options.php) [function.require-once]: failed to open stream: No such file or directory in /home/content/73/7166373/html/wp-content/themes/imbalance2/functions.php on line 2
Fatal error: require_once() [function.require]: Failed opening required ‘/home/content/73/7166373/html/wp-content/themes/portfolio-child/theme-options.php’ (include_path=’.:/usr/local/php5/lib/php’) in /home/content/73/7166373/html/wp-content/themes/imbalance2/functions.php on line 2
Sono andato in panico perchè scomparendo la pagina della bacheca non potevo più disattivarlo per tornare al tema genitore (ti leggo nel pensiero: “bravo merlo; e fare un backup prima di provare delle modifiche?”. Hai ragione. Resta il fatto che dopo un bel po’ di ricerche sono riuscito a trovare un blog in inglese che spiegava un trick per tornare in possesso della bacheca, ma che non spiegava il perchè del mancato funzionamento del child theme.
Tu sapresti darmi una spiegazione a questo problema?
Ti ringrazio per un tuo eventuale interessamento e
intanto di segutito riporto il protocollo per ritornare in possesso della bacheca scomparsa (caso mai succedesse a qualcuno di fare la mia scoperta):
Removed “require_once ( get_stylesheet_directory() . ‘/theme-options.php’ ” in the parents function.php, reset to original theme, replaced line.
che spero di avere tradotto correttamente in questo modo:
– andare su function.php del parent
– rimuovere tutta la linea 2
“require_once ( get_stylesheet_directory() . ‘/theme-options.php’ ”
– Collegarsi nuovamente al pannello di amministrazione con il browser per avere accesso alla bacheca. Tornare al tema genitore.
– Tornare su function php e ripristinare la linea 2 ricollocando la scritta cancellata in precedenza. FINITO.
FARE SEMPRE UN BACKUP PRIMA DI FARE DELLE MODIFICHE.
18/12/2012 alle 16:49
Concordo con il Fare sempre un bel backup 🙂
Sembrerebbe un problema sul functions.php del tema figlio. Hai creato un file functions.php per il tema figlio? Che cosa c’è dentro? Prova a cancellare tutto facendo attenzione a non eliminare i tag php di apertura <?php e chiusura ?> .
18/12/2012 alle 17:22
Grazie per la immediata risposta. Nella cartella del child theme avevo inserito solo il file css come da regola (commento comprendente le due voci obbligatorie e il richiamo al file CSS del parent) e nessun file function.php. Ora non ho tempo di provare modifiche, ma stanotte proverò ad inserire un file function.ph copia del genitore e poi cancello il contenuto, come da te suggerito. Ti aggiornero sul risultato. Ciao e buona serata.
18/12/2012 alle 19:55
mmm, se non c’è il file functions.php, dovrebbe andare. Crearlo non serve e non cambierà niente… Ma cos’è questp imbalance2? Sembra che cerca di caricare il file functions.php di questo tema, e non del tema padre.
18/12/2012 alle 23:59
Ti chiedo scusa, ma il testo dei messaggi di errore è quello che ho copiato dal forum in inglese dove si discuteva del problema dove il parent era il tema imbalance2; il mio messaggio di errore era identico, ma al posto di “imbalance” c’era elegant-grunge.
Riprovo a ripetere l’operazione e se si ripresenta il problema copiero il testo esatto. grazie ancora e scusa per il disturbo. Ciao Mauro
19/12/2012 alle 01:14
Ho ripetuto la prova; ecco il testo esatto:
Warning: require_once(C:xampphtdocswordpress01/wp-content/themes/elegant-grunge-child/inc/theme-options.php) [function.require-once]: failed to open stream: No such file or directory in C:xampphtdocswordpress01wp-contentthemeselegant-grungefunctions.php on line 2
Fatal error: require_once() [function.require]: Failed opening required ‘C:xampphtdocswordpress01/wp-content/themes/elegant-grunge-child/inc/theme-options.php’ (include_path=’.;C:xamppphppear’) in C:xampphtdocswordpress01wp-contentthemeselegant-grungefunctions.php on line 2
Ho creato la cartella elegant-grunge-child nella quale ho messo solo il file style.css come da regola. Non c’è niente altro, tantomeno la sottocartella /inc/ citata nella seconda riga del codice di errore.
ciao.
19/12/2012 alle 09:59
Ciao Mauro,
ho provato io in locale e da me funziona. Ti ho inviato la cartella via mail.
Ciao
19/12/2012 alle 14:40
Ciao Roberto. Ho ricevuto la mail, ma non ho trovato allegata la cartella di cui parli per provare sul mio pc. Ho comunque dribblato il problema intallando un tema Elegant Grunge Modified del quale la procedura di creazione del tema child è andata a buon fine. Comunque grazie mille; sono assolutamente in debito con te per la tua disponibilità e per la guida Blogging Box chiara ed esauriente che sto attentamente leggendo. Non so come, ma se potessi esserti utile non hai che da chiedere.
Cordilai saluti.
mauro molena
19/12/2012 alle 15:00
Mi fa molto piacere Mauro, è una bella soddisfazione sentire queste parole!
Ti ringrazio molto
Roberto
20/12/2012 alle 17:40
Ciao Roberto,
complimenti per il tuo Blog, molto molto interessante.
Io avevo già un server in locale, che non è Xampp, ma EasyPHP, che più o meno dovrebbe essere uguale, su cui ho installato WordPress ed ho iniziato la creazione del mio Blog, solo che una volta individuato il tema che mi piaceva, l’ ho installato e fin qui tutto bene, i miei problemi sono iniziati quando ho cercato di modificare l’ header del tema installato con un altro header creato da me.
Purtroppo non ci sono riuscito e vorrei capire se non ti dispiace e sempre per cortesia, come fare per sostituire l’ header del tema da me installato con quello da me creato.
Se mi puoi aiutare a capire come fare o se mi puoi indirizzare su un tuo articolo dove spieghi questo, ti ringrazio anticipatamente.
Un caro saluto da
Giuseppe
21/12/2012 alle 11:27
Ciao Giuseppe,
ti ringrazio!
Cosa intendi con header? Se intendi l’header della parte visuale del tema, segui il codex, è spiegato molto bene.
21/12/2012 alle 16:20
Ciao Roberto,
si, intendo proprio l’ header della parte visuale del tema, quello dell’ intestazione della pagina principale che poi è uguale per tutte le pagine.
Se mi puoi aiutare in qualche modo, ho aperto la pagina del codex, che mi hai indicato, ma è tutto in inglese, non c’ è qualcosa in Italiano oppure qualche tuo articolo dove lo spieghi?
Comunque grazie per la tua cortesia.
Saluti da Giuseppe
21/12/2012 alle 19:46
Dimmi precisamente quello che ti serve mostrare, poi vedo come ti potrò essere utile.
06/01/2013 alle 13:29
Ma cosa succede se modifichi un tema e poi lo aggiorni (magari senza aver fatto il backup)?
Ti uccidi.
Questa frase riassume tutto. 🙂 Al primo sito con wordpress accadde proprio questo…una tragedia, meno male avevo un backup (anche se non aggiornato) e sono riuscito con poco danno a riistemare tutto. I Temi Child sono davvero comodi, anche perchè ti risolvono il problema di stare tutto il tempo a ricercare il tag css per fare le modifiche div per div… Ottima guida.. 🙂
07/01/2013 alle 11:39
Grazie a te Gigi! 🙂
21/01/2013 alle 18:17
Ciao Roberto ti disturbo nuovamente e grazieper il tuo sito,
….allora io ho inserito e fatto quello hai scritto e quindi creato la cartella con il nome del tema-child ecc..vedo anche la foto quando vado su temi ed aspetto …..,poi ho attivato il theme child….
….ma ho due problemi ….;-(
uno quando vado a visualizzare la pagina nel browser si vede some se il css non fosse attivo….e quindi non vedo neanche lìimmagine…..tutto posizionato sulla sinistra….ma!! PERCHE’?????
grazie Daniela
21/01/2013 alle 19:52
Ciao Daniela,
probablmente manca il collegamento al file style.css originale… controlla bene.
22/01/2013 alle 08:02
Ciao Roberto, innanzitutto complimenti per l’ebook: riassume tutto il tuo sapere, da tenere sul desktop a portata di mano! Ho però un problema: ieri ho aggiornato il mio tema, e dopo mi sono ritrovata con il favicon (l’immagine della valigia, per intenderci) sopra al titolo e ENORME: cosa sarà successo? Hai un suggerimento da darmi su come riportarla a normalità? Non riesco a capire come fare…
22/01/2013 alle 19:46
Soluzione trovata da sola: ho scritto al forum di supporto al tema, e mi hanno detto che con l’aggiornamento avevano attuato un cambiamento alla dimensione del logo, e quindi mi ha fatto aggiungere un codice al Custom CSS. Grazie lo stesso! Buona serata
22/01/2013 alle 22:12
Bravissima!
22/01/2013 alle 22:08
Ciao Elisabetta,
ti ringrazio! Mi sembra tu abbia sistemato, è corretto?
25/01/2013 alle 11:51
Ciao Roberto! Io ho comprato un tema, all’interno si trova anche il tema child, ma quale devo installare nel mio wordpress? Il tema padre o il child? Le modifiche al tema vanno effettuate sul child e poi è questo a dover essere caricato in wordpress? Non ho ben capito questo concetto…mi chiedo, il creatore del tema dove effettuerà gli aggiornamenti?
Grazie
25/01/2013 alle 14:44
Ciao Maria,
carica entrambi i temi, poi attivi solamente il tema child, che è quello che dovrai modificare, mentre gli aggiornamenti verranno effettuati sul tema padre.
Fammi sapere se è tutto chiaro, ciao
26/01/2013 alle 01:25
vediamo se ho capito….significa che qualsiasi cosa modifico nel tema child andrà a sovrapporsi all’equivalente del tema genitore? quindi i plugins vanno installati solo nel tema child? allora come dovrò fare per il backup e per gli aggiornamenti del tema? Te lo chiedo perchè io avevo cominciato a lavorare sul tema genitore anche se non ho assolutamente toccato i fogli di stile…mi sa che devo ricominciare tutto di nuovo, vero?
27/01/2013 alle 14:29
In realtà, i plugin sono completamente distaccati dal tema, sono “installati in WordPress”, infatti se cambi tema, i plugin rimangono.
Per il backup del tema, puoi salvare solo quello che modifichi (ovvero il child), per l’aggiornamento, aggiornerai solo il tema padre.
Se hai già modificato il tema padre, puoi riportare le modifiche nel tema child, oppure puoi copiare la cartella del padre, facendolo “diventare child” ed eliminando i file che non hai modificato (è un po’ più complesso da capire come procedimento).
27/01/2013 alle 17:57
Grazie Roberto! Ho capito…un’ultima cosa, aggiornando il tema padre si aggiornerà automaticamente anche il child oppure no? Che senso avrebbe aggiornare solo il tema padre se in effetti uso solo il child?
28/01/2013 alle 11:35
Il tema child non dovrebbe avere tutti i file del tema padre.
Aggiornando il tema padre, i file o le funzioni che non sono sovrascritte dal tema child, verranno aggiornate e quindi utilizzabili dal tema child.
Quindi il tema child non viene aggiornato, ma riceve “i benefici” del tema padre.
30/01/2013 alle 09:55
Ciao Roberto!
Complimenti per l’articolo. Anche io ho avuto qualche problema con l’installazione del tema child, però lo sto testando in locale con xampp. Ho installato il tema genitore, e fin qui tutto ok, però quando carico anche il figlio mi appare questa dicitura:
La directory di destinazione esiste già. C:/xampp/htdocs/wordpress/wp-content/themes/nomedeltema-child/ Installazione tema non riuscita.
Cosa vuol dire? Come posso risolvere il problema?
Grazie
30/01/2013 alle 16:04
Ciao Sofia,
ti ringrazio!
Mi pare strano, se non esiste già la cartella, allora puotrebbe essere il Theme Name all’interno del file style.css del tema child, l’hai modificato?
01/02/2013 alle 18:31
Ciao Roberto,
ho fatto dei tentativi. Dapprima si è verificato lo stesso problema della ragazza a cui hai risposto sotto: Daniela.
Poi ho ritentato e ho avuto questo risultato:
Warning: require_once(C:xampphtdocsmysitename/wp-content/themes/nomedeltemachild/framework/themeblvd.php) [function.require-once]: failed to open stream: No such file or directory in C:xampphtdocsmysitenamewp-contentthemesnomedeltema-childfunctions.php on line 6
Fatal error: require_once() [function.require]: Failed opening required ‘C:xampphtdocsmysitename/wp-content/themes/nomedeltema-child/framework/themeblvd.php’ (include_path=’.;C:xamppphpPEAR’) in C:xampphtdocsmysitenamewp-contentthemesnomedeltema-childfunctions.php on line 6
Nel file style.css del tema child ho cambiato il nome del tema, che stranamente si riferiva ad un altro tema ancora e non a quello da me comprato. Devo inserire comunque la stringa @import url(“../nomedeltema/style.css”); ???
Premetto che dopo questo errore ho dovuto reinstallare il database…suicidio!
01/02/2013 alle 18:44
Roberto ce l’ho fatta!!!!! Mi sembra pure impossibile, infatti adesso ho i dubbi sul fatto che sia tutto a posto. Ho seguito alla lettera i tuoi consigli e corretto pure l’errore che aveva fatto il tizio nel tema child. A proposito, è normale quindi che la cartella del tema child è mooolto più scarna di quella del tema padre? All interno ci sono solo style.css e functions.php e assets. Mi dai conferma?
01/02/2013 alle 18:46
Un ultima cosa, è normale che sotto al tema installato appare questa dicitura?
Questo tema figlio richiede il proprio tema padre, nomedeltema.
01/02/2013 alle 19:45
Questo no, o almeno, io non l’ho mai visto 🙁
Ma dove compare? Nella pagina Apsetto > Temi > ?
01/02/2013 alle 19:43
Esatto Sofia, tutto ok. È normale, poi piano piano aggiungi i file delle sezioni che vuoi modificare, come header.php o single.php (dipende da dove vuoi modificare).
Complimenti 🙂
01/02/2013 alle 19:41
Il problema te lo dà in funtcions.php.
Che metodo hai usato per creare il tema figlio?
1. Crea solamente la cartella, il file style.css e vedi come va.
2. Poi aggiungi il file functions.php (dovrai inserire <?php e ?> e ci aggiungi poco alla volta le funzioni tra questi due tag.
Se copi il vecchio file functions.php, ti va in errore perchè alcune funzioni devono essere eseguite solamente una volta!
01/02/2013 alle 20:24
sì esatto, la dicitura “questo tema figlio richiede il proprio tema padre, nomedeltema” appare nella sezione aspetto-tema. Però non mi dà alcun errore, mi risulta praticamente installato. Mi devo preoccupare?
Poi volevo chiederti questo: io non ho inserito versione del tema, nome del possessore e url nel file style.css perchè tu li hai dati come opzionali, ho sbagliato?
Altra cosa, voelvo consentire la visualizzazione delle categorie nei post, nella pagina iniziale (di default si vede solo la data e il numero di commenti) e il tizio da cui ho comprato il tema mi ha detto di copiare content-grid.php nel tema child…me lo traduci in parole povere? Temo di non riuscire a dormire stanotte 🙂 Lo so che ti sto torturando, scusami!
03/02/2013 alle 17:23
Ah, ok, la dicitura ti compare nei dettagli del tema… allora è tutto ok (ho controllato e anche con un mio tema di Genesis compare lo stesso messaggio).
Non hai sbagliato, è opzionale.
WordPress si è mangiato il codice, comunque scarica via FTP il file content-grid.php, poi aggiungi il codice che ti è stato fornito nella posizione desiderata. Per capire quale sia, leggi come e dove modificare WordPress.
Ciao
01/02/2013 alle 20:37
Ma come mai il mio commento è apparso 2 volte con 2 nomi diversi???
03/02/2013 alle 17:23
I misteri di WordPress 😉
01/02/2013 alle 10:09
Ciao Roberto ho cercato su internet per ore questo problema ma non son riuscita a trovare la soluzione….ho creato due child themes con uno ho un problema cosi:
….creando un child theme con tutti i passaggi, poi una volta attivata la pagina
aspetto>attivando tema child theme
ecco sosa mi scrive sotto il tema corrente, perche????
Tema corrente
Twenty Ten child theme
Questo tema figlio richiede il proprio tema padre, Twenty Ten/Twentyten.
Perche’ mi dice che richiede il padre????
….quando invece ho creato un child theme con tutti i passaggi giusti, poi una volta attivata la
pagina aspetto>attivando tema child theme
Tema corrente
Twenty Eleven Child
Di Immateria grafica srlVersione 0.1
Tema Child per Twenty Eleven
Tema corrotto
I seguenti temi risultano installati ma sono incompleti. I temi devono avere un foglio di stile e un template.
Nome Descrizione
Twenty Eleven Child Il tema padre è mancante. Installare il tema padre “twenty Eleven”.
Aiutami …
Grazie mille. ;(
01/02/2013 alle 10:33
Risolto il problema del css…ho fatto copia incolla di @import!;))
Ma non quei messaggi che ti dicevo !!;(((((
01/02/2013 alle 11:18
🙂
01/02/2013 alle 18:09
….Roberto scusa …..ma l’utimo messaggio che ti ho inviato no…come devo fare??!!!
01/02/2013 alle 19:38
Quindi ti continua a dire che il tema è corrotto?
In questo caso, prova a ricaricare i file del tema padre (se lo usi, non ho capito bene, mi hai confuso ;)) e del tema figlio… probabilmente c’è stato qualche errore nel trasferimento.
04/02/2013 alle 12:42
Ciao scusa Roberto
il mio problema e’ dovuto ai child theme cioe’ questo:
1)….creando un child theme con tutti i passaggi, poi una volta attivata la pagina
aspetto>attivando tema child theme
ecco sosa mi scrive sotto il tema corrente, perche????
Tema corrente
Twenty Ten child theme
Questo tema figlio richiede il proprio tema padre, Twenty Ten/Twentyten.
Perche’ mi dice che richiede il padre????
2)….quando invece ho creato un child theme con tutti i passaggi giusti, poi una volta attivata la
pagina aspetto>attivando tema child theme
Tema corrente
Twenty Eleven Child
Di Immateria grafica srlVersione 0.1
Tema Child per Twenty Eleven
Tema corrotto
I seguenti temi risultano installati ma sono incompleti. I temi devono avere un foglio di stile e un template.
Nome Descrizione
Twenty Eleven Child Il tema padre è mancante. Installare il tema padre “twenty Eleven”.
Cosa devo fare la mia domanda e’ come mai sia in un modo o nell’altro mi dice comunque che c’e’ un problema …..perche’????
Aiutami …
Grazie mille. ;(
05/02/2013 alle 07:59
Ciao Daniela, così su due piedi è difficile dirlo,
io farei così.
1. Elimina i due temi (se non hai apportato modifiche)
2. Scarica ed installa Twenty Eleven (da Temi > Installazione temi >)
3. Crea il tema figlio base seguendo i passaggi che ti ho indicato.
4. Piano piano, apporta nuove modifiche
05/02/2013 alle 10:59
Ho fatto tutto nuovamente ma niente ancora questo messaggio …..
Tema corrente
Twenty Ten child theme
Questo tema figlio richiede il proprio tema padre, Twenty Ten/Twentyten.
chisa’ perche’ ancora non son riuscita a capire????????
……………E’ molto strano forse questo messaggio e’ normale!! ma!
Grazie lostesso cerchero’ ancora…..
Daniela
05/02/2013 alle 17:50
Sì, la dicitura compare sotto l’immagine del tema, è corretto. L’importante è che non ti dia errori strani.
05/02/2013 alle 17:45
…..forse perche’ lavoro in locale???
….scusa i numerosi messaggi e che sto cercando e riprovando rinstallando …..ma niente ancora…..;(((((((
09/03/2013 alle 16:16
Ciao Roberto, complimentissimi per gli articoli, il blog e tutto!:)
Volevo chiederti…
Utilizzo dreamweaver per modificare i file del child..
Ma se volessi mettere un’immagine di sfondo al body da css (senza passare quindi dall’impostazione di wp che ti permette di fare ciò) dovrei creare una cartella images all’interno della cartella del tema child o mi conviene in questo caso utilizzare l’impostazione di wp??
Grazie per tutto l’aiuto che ci dai!!!
11/03/2013 alle 18:37
Ciao Alessandro,
ti ringrazio! 🙂
Crea la cartella nel tema child, aggiungi l’immagine di sfondo e modifica il css dandogli l’URL… prego 🙂
13/03/2013 alle 12:37
🙂 grazie!
12/03/2013 alle 17:48
ciao, perchè usando alcuni temi, con più colonne ad esempio, nella child non si manteiene l’impaginazione del padre?
Grazie
13/03/2013 alle 18:00
Non ho capito la domanda, scusa…
13/03/2013 alle 23:04
hai ragione, la domanda l’ho posta in maniera incomprensibile. Ho provato a creare delle child con alcuni temi WP a 2 e 3 colonne, ma quando le attivo il tema perde l’impaginazione originaria, non mantiene le stesse caratteristiche. Spero di essere stato più chiaro e grazie per l’interesse.
ciao
16/03/2013 alle 10:45
Quindi, hai creato un tema child e non funziona, mostra sempre il tema padre, è corretto?
In questo caso, sembra che tu non abbia collegato il tema child al tema padre… hai controllato se nel file style.css è presente l’import?
19/03/2013 alle 13:21
intanto grazie della tua attenzione. Il problema è il child non è uguale a quello padre. Il collegamento con il padre l’ho crato, tutto è richiamato ma sfasano alcune cose, l’immagine della testata, la funzione di scorrimento della stessa immagine, ecc. In altri termini, il tema figlio non mantiene tutte le caratteristiche del padre.
considera che sono alle primissime armi e non ho conoscenze tecniche dettagliate. Il tema che sto utilizzando, in locale, è evolve.
Ancora grazie della tua disponibilità
19/03/2013 alle 13:31
grazie per la tua attenzione. Il problema è che il tema child non mantiene tutte le caratteristiche del padre: l’immagine della testata, lo scorrimento della stessa, ecc. Non è uguale al padre. Cmq sto usando il tema evolve. Considera che sono alle primissime armi e non ho specifiche conoscenze tecniche.
Grazie ancora
Ciao.
14/03/2013 alle 19:16
Ciao Roberto,
grazie anche per questo prezioso articolo, ne ho già letti molti e si sono rivelati tutti utilissimi.
Purtroppo il mio tema (Equilibrium) oltre a non avere i file per la localizzazione in italiano, ti ho già scritto in proposito da un’altra parte per chiederti consigli sul da farsi (il mio problema sono quali e come modificare le funzioni) risulta ostico anche per quanto riguarda la creazione di un tema “figlio”. Ho fatto come dici e sembra funzionare, ma solo a metà. Utilizzando il Child da me creato quasi tutto il sito si visualizza perfettamente, tranne il logo e il menu principale. Forse nel mio caso l’import dei css può riguardare anche altri file? Secondo te dove li posso andare a pescare? Grazie in anticipo.
16/03/2013 alle 11:09
Ciao Roberto,
per alcuni temi professionali, il logo è salvato nel Database, quindi lo puoi modificare dalle opzioni del tema. Altrimenti devi capire da dove viene caricato (ma solitamente lo trovi nel file style.css).
Il menù è salvato nel DB di WordPress, a meno che non venga utilizzato un menù speciale del tema. In ogni caso, dovresti vederlo uguale sia per il child che per il padre. Riesci a capire quale menù viene visualizzato? (del tema o di WordPress)
16/03/2013 alle 11:32
Sì, è un tema professionale (acquistato su Themeforest) quindi menu e logo, come dici, potrebbero essere posizionamento altrove e quindi non visualizzati. Il problema l’ho aggirato per ora (la “soluzione” è nel mio commento sotto) evitando di aggiungere la parola Child al nome del tema nel file .css contenuto nella cartella Equilibrium Child, ora menu e logo appaiono, questo indicherebbe, appunto, un problema nel cambio del nome da Equilibrium a Equilibrium Child. Dovrei scovare la stringa con il link, copiarla e incollarla nel file .css col nuovo nome? Ho capito. Ma io lascerei anche Equilibrium senza l’aggiunta di Child o, secondo te, questo può causare dei problemi?
16/03/2013 alle 12:08
Beh, avere due temi con lo stesso nome non credo che sia normale e potrebbero nascere dei problemi ovviamente, ma se non ti dà problemi…
15/03/2013 alle 12:47
Incredibile. Ho scovato l’inghippo. Lo scrivo perché magari può esse utile anche ad altri. In pratica tutto funziona se non aggiungo Child al nome del tema. Nel mio caso se lascio il nome originale del tema, personalizzando pure tutte le altre voci (che qui ometto per praticità):
Theme Name: Equilibrium
Tutto funziona.
Se invece aggiungo al nome del tema Child, cioè:
Theme Name: Equilibrium Child (oppure minuscolo child)
Spariscono Intestazione e menu e quindi il tema figlio diventa, di fatto, inutilizzabile. Che sia un’impostazione degli autori?
16/03/2013 alle 11:20
Ma se inserisci un altro nome al posto di child?
16/03/2013 alle 13:28
Anche un altro nome non cambia. Qualsiasi cosa al di fuori del nome originale mi faceva saltare menu e logo. La soluzione me l’hai data tu nel posto precedente. Ho capito dove stava il problema… In pratica cambiando nome, da Equilibrium a Equilibrium Child, saltano anche tutte le impostazioni e personalizzazioni precedenti che erano ritornate ai valori di default. Mi è bastato quindi andare su theme options e ricaricare il logo, reinserire i valori che avevo scelto (esempio velocità slide, ecc.) ricollegare il menu e tutto è tornato come prima.
Ora il tema si chiama Equilibrium Child e non corro il rischio di fare confusione. Adesso viene la parte più difficile (almeno per me) modificare le funzioni per la localizzazione in italiano come spieghi benissimo in un altro forum, ma questa è un’altra storia. Se ho problemi ti scrivo. Intanto grazie mille. Le tue semplici indicazioni sono state, come sempre, illuminati 🙂
19/03/2013 alle 16:53
Mi fa molto piacere 🙂
15/04/2013 alle 08:48
Ciao Roberto,
dopo aver letto i tuoi consigli sui temi professionali, ho acquistato un tema Genesis.
Come ovviamente saprai i temi genesis sono già loro dei temi child, ora se faccio delle modifiche le devo fare sul tema child acquistato o devo fare un child del child?
Grazie in anticipo, Igor
16/04/2013 alle 08:36
Ciao Igor,
no, perchè gli aggiornamenti riguarderanno il framework Genesis, non il child theme. Modifica pure il tema acquistato.
26/04/2013 alle 15:07
Ciao Roberto,
scusami se mi intrometto in questa discussione, sono nuovo quindi di prego di perdonarmi.
Sto cercando di modificare lo sfondo di Envisioned che è uno dei temi di Eleganttheme, in particolare lo vorrei fare tutto bianco, e guarda caso tra i colori pre-impostati non c’è.
Ho già provato a seguire il tutorial qui sopra, ma non funziona.
Cortesemente sapresti aiutarmi?
26/04/2013 alle 18:14
Ciao Marco, mi dispiace ma non è così semplice, richiede un po’ di tempo… devi impostare il background:#fff; per lo sfondo… probabilmente del body, ma dipende dal tema.
30/04/2013 alle 14:46
Ciao Roberto e complimenti per la Tua attività che, da quel che vedo, mi sembra davvero brillante!
Volevo chiederti un aiutino per un problema che sto incontrando con il sito www.plotterhpitalia.it fatto col wordpress.org con hosting su aziende italia tema twenty ten.
Il problema che ho scoperto è legato al tag , quello che spezza i post, e che io non ho utilizzato di proposito.
In effetti aprendo un articolo (ho creato una pagina statica come home) questo si legge sino al fatidico: “continua a leggere”. Normalmente cliccando sul link si dovrebbe aprire la pagina intera.
Nel mio caso, purtroppo, si ritorna sempre alla pagina di anteprima.
Mica Ti è già capitato?
Ti ringrazio anticipatamente
Leo Aruta
03/05/2013 alle 14:01
Controlla a che link punta il “link More”… Dovrebbe puntare all’articolo, se così non fosse, allora controlla il file che genera l’homepage (del tuo tema, solitamente l’index.php) e cerca la funzione che mostra il contenuto… magari è stato realizzato in un modo strano…
02/05/2013 alle 13:53
Ciao Roberto,
i tuoi consigli sono chiarissimi ed illuminanti.
Ho creato il tema child facendo anche il test del cambio colore per vedere se funziona.
Sembra tutto ok ma quando attivo il tema child il colore del titolo è blu scuro (non rosso) il background è grigio scuro e non riesco più a cambiarlo tra le opzioni del tema (cosa che invece riesco ancora a fare nel tema padre).
Cosa significa?
Grazie!
Massimo
03/05/2013 alle 13:51
Probabilmente non è stato collegato correttamente il foglio di stile (style.css)
04/05/2013 alle 13:30
Sto utilizzando un tema AIT-THEMES, che usa anche un framework aggiuntivo (credo si dica così ;)). Ho attivato il child theme ma non riesco a modificare (nel mio caso ad aggiungere) dei custom fields.
La mia domanda è: quando devo personalizzare dei file “interni” – che sono cioè dentro sotto-cartelle del tema padre – questi file devo copiarli nel tema figlio rispettando tutta le gerarchia delle sotto-cartelle o basta inserirli nella cartella principale del tema figlio?
Esempio, devo modificare il file “topolino/minnie/pippo.php” devo ricreare nel tema figlio le cartelle topolino e minnie?
Spero di essermi spiegato…
09/05/2013 alle 13:46
Sì, in questo modo “sovrascrive” il file del padre e legge solamente quello child.
05/06/2013 alle 16:51
Ciao Roberto,
mi chiedevo: visto che ho già modificato il tema padre… posso copiare tutti i file nel tema figlio e continuare da lì le modifiche ???
Questa operazione rallenterebbe il sito web ???
Grazie per la risposta eee … devo dire che apprezzo tanto la tua indole di condivisione della conoscenza !!!
Ben fatto
A presto
07/06/2013 alle 16:08
Ciao Gianni, ti ringrazio 🙂
copiare tutti i file non ha senso, dovresti copiare solamente quelli modificati…
18/06/2013 alle 09:38
Ciao Roberto,
ti premetto che rispetto a voi sono abbastanza “sprovveduta”. Ho iniziato ora a cimentarmi con WP e avrei bisogno di capire alcune cose.
Mi sono imbattuta nel tuo utilissimo sito cercando su google la risposta al mio problema.
Provo a spiegare.
Avrei necessità di modificare il footer della home page del mio sito.
Semplicemente devo cambiare un dato errato che è nel testo.
Sono entrata in ispeziona elemento, ho trovato la parte che mi interessava e l’ho modificata.
Una volta chiuso, però, non mi da la modifica effettuata.
Cosa ho sbagliato?
Di sicuro non ho premuto nulla che “salvasse” o “aggiornasse” le mie modifiche….perchè non so come si fa.
Potresti aiutarmi?
GRAZIE! 🙂
24/06/2013 alle 10:28
C’è il pulsante Aggiorna a fine pagina, ricontrolla 🙂
29/06/2013 alle 16:16
Ciao Roberto,
quando dici:
Crea sul tuo desktop (o dove vuoi te) una cartella per il tema child, ad esempio twentyeleven-child. Crea un nuovo file con il blocco note ed incolla il seguente codice:
/*
Theme Name: Twenty Eleven Child
Theme URI: https://www.robertoiacono.it/
Description: Tema Child per Twenty Eleven
Author: Roberto Iacono
Template: twentyeleven
Version: 0.1
*/
il file in blocco notte come lo devo salvare? come css? come xhtml? o semplicemente in txt? Puoi essere più chiaro in questo punto?
Ti ringrazio anticipatamente, i tuoi tutorial sn estremamente utili.
03/07/2013 alle 17:18
Ciao Antonella,
c’è scritto un po’ più sotto: chiamalo style.css
Ciao