Temi child WordPress: cosa sono, come funzionano e come crearne uno

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.

Twenty Eleven

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.

Twenty Eleven child

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?

VUOI CREARE IL TUO SITO O BLOG WORDPRESS?

Scegli uno tra i migliori hosting per WordPress

HOSTING

Scegli uno tra i migliori hosting per WordPress

Hosting

Scegli uno tra i migliori temi WordPress professionali

GRAFICA

Scegli uno tra i migliori temi WordPress professionali

Grafica

Guide e risorse per gestire il sito WordPress a 360°

GESTIONE

Guide e risorse per gestire il sito WordPress a 360°

Gestione
  
con le dita sempre in costante, frenetico movimento sulla tastiera… vengo spesso trascinato e catturato “in rete” per colpa delle mille idee che mi girano per la testa (prima o poi troverò quella giusta)… dal futuro incerto (nonostante una laurea, e chi non lo è?..siamo in tanti!) .. credo fortemente nella condivisione della conoscenza!
94 Commenti
  • 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!

    • Roberto Iacono

      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.

      • 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=””>

        • Roberto Iacono

          Nei commenti il codice viene rimosso per sicurezza, se vuoi contattami dalla pagina… contattami 🙂

  • 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)?

    • Roberto Iacono

      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 🙂

      • Perfetto, grazie mille!!! procedo subito alla creazione, all’ultimo update ho speso due giorni a rifare tutto…
        Ciao!

  • 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

    • 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!

    • Roberto Iacono

      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

      • 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 😉

        • Roberto Iacono

          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;

  • 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.

    • Roberto Iacono

      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 ?> .

      • 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.

        • Roberto Iacono

          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.

          • 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

  • 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.

    • Roberto Iacono

      Ciao Mauro,
      ho provato io in locale e da me funziona. Ti ho inviato la cartella via mail.
      Ciao

      • 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

        • Roberto Iacono

          Mi fa molto piacere Mauro, è una bella soddisfazione sentire queste parole!
          Ti ringrazio molto

          Roberto

  • 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

    • Roberto Iacono

      Ciao Giuseppe,
      ti ringrazio!

      Cosa intendi con header? Se intendi l’header della parte visuale del tema, segui il codex, è spiegato molto bene.

  • 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

    • Roberto Iacono

      Dimmi precisamente quello che ti serve mostrare, poi vedo come ti potrò essere utile.

  • 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.. 🙂

  • 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

    • Roberto Iacono

      Ciao Daniela,
      probablmente manca il collegamento al file style.css originale… controlla bene.

  • 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…

    • 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

    • Roberto Iacono

      Ciao Elisabetta,
      ti ringrazio! Mi sembra tu abbia sistemato, è corretto?

  • 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

    • Roberto Iacono

      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

      • 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?

        • Roberto Iacono

          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).

          • 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?

          • Roberto Iacono

            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.

  • 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

    • Roberto Iacono

      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?

      • 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!

        • 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?

          • Un ultima cosa, è normale che sotto al tema installato appare questa dicitura?

            Questo tema figlio richiede il proprio tema padre, nomedeltema.

          • Roberto Iacono

            Questo no, o almeno, io non l’ho mai visto 🙁

            Ma dove compare? Nella pagina Apsetto > Temi > ?

          • Roberto Iacono

            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 🙂

        • Roberto Iacono

          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!

          • 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!

          • Roberto Iacono

            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

          • Ma come mai il mio commento è apparso 2 volte con 2 nomi diversi???

          • Roberto Iacono

            I misteri di WordPress 😉

  • 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. ;(

  • Risolto il problema del css…ho fatto copia incolla di @import!;))
    Ma non quei messaggi che ti dicevo !!;(((((

  • ….Roberto scusa …..ma l’utimo messaggio che ti ho inviato no…come devo fare??!!!

    • Roberto Iacono

      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.

  • 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. ;(

    • Roberto Iacono

      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

  • 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

    • Roberto Iacono

      Sì, la dicitura compare sotto l’immagine del tema, è corretto. L’importante è che non ti dia errori strani.

  • …..forse perche’ lavoro in locale???
    ….scusa i numerosi messaggi e che sto cercando e riprovando rinstallando …..ma niente ancora…..;(((((((

  • 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!!!

    • Roberto Iacono

      Ciao Alessandro,
      ti ringrazio! 🙂

      Crea la cartella nel tema child, aggiungi l’immagine di sfondo e modifica il css dandogli l’URL… prego 🙂

      • 🙂 grazie!

  • ciao, perchè usando alcuni temi, con più colonne ad esempio, nella child non si manteiene l’impaginazione del padre?
    Grazie

    • Roberto Iacono

      Non ho capito la domanda, scusa…

      • 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

        • Roberto Iacono

          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?

          • 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à

          • 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.

  • 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.

    • Roberto Iacono

      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)

      • 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?

        • Roberto Iacono

          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…

  • 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?

    • Roberto Iacono

      Ma se inserisci un altro nome al posto di child?

      • 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 🙂

  • 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

    • Roberto Iacono

      Ciao Igor,
      no, perchè gli aggiornamenti riguarderanno il framework Genesis, non il child theme. Modifica pure il tema acquistato.

      • 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?

        • Roberto Iacono

          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.

  • 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

    • Roberto Iacono

      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…

  • 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

    • Roberto Iacono

      Probabilmente non è stato collegato correttamente il foglio di stile (style.css)

  • 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…

    • Roberto Iacono

      Sì, in questo modo “sovrascrive” il file del padre e legge solamente quello child.

  • 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

    • Roberto Iacono

      Ciao Gianni, ti ringrazio 🙂
      copiare tutti i file non ha senso, dovresti copiare solamente quelli modificati…

  • 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! 🙂

    • Roberto Iacono

      C’è il pulsante Aggiorna a fine pagina, ricontrolla 🙂

  • 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.

    • Roberto Iacono

      Ciao Antonella,
      c’è scritto un po’ più sotto: chiamalo style.css
      Ciao