Hai personalizzato il tema di WordPress senza usare un tema child, e adesso non puoi piรน aggiornare il tema senza perdere tutte le modifiche che hai fatto?
Magariย tante cose ti stanno facendoย capire che il tema sarebbe bene aggiornarlo, problemi diย sicurezza innanzi tutto, e non ultima la compatibilitร con le nuove versioni di WordPress e dei plugin utilizzati.
Magari รจ pure l’occasione buona che perย utilizzareย un tema child, ma come fare?
[tweet “Tenere aggiornati #WordPress, temi e plugin, รจ importante per laย #sicurezza”]
Per lavoro mi ritrovo quasi quotidianamente con installazioni di WordPress, per lo piรน siti aziendali, dove ilย tema non viene aggiornato da parecchie versioni, per la paura di perdere tutta le personalizzazioni apportate.
Spesso e volentieri questo causa anche il mancato aggiornamento dello stesso WordPress, e dei plugin installati, con tutto quello che ne consegue in sicurezza, funzionalitร e prestazioni.
Per fortuna รจ possibile rimediare.
Sarร un tantinello brigoso, ma una volta fatto non ti dovrai piรน preoccupare, e potrai aggiornare il tema e tutta la tua struttura tranquillamente, ogni volta che viene rilasciato un aggiornamento, senza la paura di perdere le modifiche effettuate.
Devi solo armarti di un po’ di pazienza, e seguire alla lettera queste istruzioni.
Creare il tema child di un tema giร modificato.
Probabilmente quando hai creato il tuo sito i temi child per WordPress ancora non esistevano, sono stati introdotti con la versione 3.0, oppure ne ignoravi l’esistenza. Poco male, questo รจ un buon momento per rimediare.
Quello che segue รจ il procedimento che ormai adotto da diverso tempo. Magari possono esserci metodi alternativi diversi, piรน rapidi o semplici, ma cosรฌ facendo io non ho mai riscontrato particolari problemi.
1. Fai un backup generale di file e database!
ร la prima regola da seguire sempre, in assoluto. ร dettata dal buon senso.
Se non fai un backup, e poi qualcosa va storto, sono tutti cavoli tuoi, e pure molto amari.
2. Crea una cartella per contenere il nuovo thema child.
Entra in FTP sul tuo sito in WordPress, segui il percorso wp-content > themes, e crea una cartella vuota con un nome a piacere, senza spazi e meglio se tutto in minuscolo, tipo miotema o temachild. Il nome non รจ importante.
3. Identifica i file del tema in uso che sono stati modificati conย la personalizzazione.
Di solito i file del template che vengono modificati sono sempre gli stessi, tipo style.css, header.php, footer.php, single.php, archive.php e index.php per citare i piรน comuni.
Potresti aver modificato anche il file functions.php, per aggiungere filtri e funzioni, ma questo richiede un discorso a parte.
Se hai difficoltร a ricordarti o riconoscere i file modificati, puoi ricavarli cosรฌ:
- Scarica sul tuo computer la cartella del tema in uso sul tuo sito
- Procurati una copia del tema originale, importante che sia la stessa versione di quello che stai usando.
- Con programmi che cercano le differenze nei files, fai una ricerca ed avrai facilmente l’elenco dei file modificati e delle specifiche modifiche (utile).
Io per queste cose uso il comando da terminale diff, impegnativo ma estremamente potente, oppure su Mac l’ottimo editor di testi TextWrangler, che tra le tante funzioni c’ha pure questa. Un software per meย indispensabile, per questo e molti altri motivi.
Un’ottima alternativa, sempre per mac, รจ Kaleidoscope, che perรฒ costa quasiย settantaย dollari.
Sicuramente su Windows ci sarร qualcosa di simile, ma non utilizzando la piattaforma di Microsoft non saprei consigliarti. Ho letto perรฒ bene di WinMerge.
4. Copia i file modificati nella cartella che hai appena creato.
Una volta ricavato l’elenco dei file modificati, copiali (non spostarli) dal tema in uso alla cartella creata al punto 2.
Se le modifiche riguardano anche il file functions.php, non lo copiare, ma sposta le parti modificate o aggiunte in un file functions.php vuoto, sempre nella cartella creata al punto due.
Il file functions.php nella nuova cartella potrebbe essere una cosa del genere:
<?php /* INSERIRE QUI FILTRI E FUNZIONI PERSONALIZZATE */ ?>
Attenzione perchรฉ modifiche improprie nel file delle funzioni del tema possono essere la causa di malfunzionamenti parziali o totali del sito.
5. Metti il sito in manutenzione, e aggiorna il tema
A questo punto, รจ arrivato il momento di rimboccarsi le maniche per davvero.
Giusto per non complicare la vita ai tuoi visitatori, metti il sito in modalitร manutenzione, grazie ad uno dei tanti plugin disponibili (tipoย Maintenance), ed aggiorna il tema.
Puoi eseguire l’aggiornamento seguendo le classiche modalitร di WordPress, se l’aggiornamento del tema compare negli aggiornamenti di WordPress, oppure aggiornarlo manualmente, procedura richiesta da alcuni temi premium.
La seconda strada รจ semplice, non ti deve spaventare, devi prendere il contenuto della nuova versione del tema, una volta scaricato e scompattato sul tuo computer, e sovrascrivere il contenuto della cartella del tema sul tuo sito.
Terminato l’aggiornamento, verifica che il sito e la bacheca rispondano correttamente.
6. Completa il tema child
Con la cartella che hai creato al punto 2, ed avendoci copiato i file modificati del tema originale, hai messo le basi per ilย tema child che, in futuro, ti permetterร di aggiornare il tema originale senza troppe preoccupazioni.
Se hai bisogno di rinfrescarti la memoria, potresti leggereย come funzionano i temi child di WordPress, potrebbe esserti utile per capire meglio quello che faremo di qui in avanti.
Attenzione: leggi bene la documentazione del tema che stai utilizzando riguardo l’uso di temi child.
Nella maggior parte dei casi fanno riferimento alla documentazione standard di WordPress, e allora va bene pure quanto scritto poco sotto, in altri casi invece il tema child deve contenere altri file e cartelle per funzionare correttamente, file e cartelle che dovrai inserire nella cartella del tema child su cui stai lavorando.
Riguardo un tema child standard, secondo le specifiche di WordPress, ti manca solamente da definire il foglio di stile.
Devi cioรจ creare, nella cartella del tema child, un file style.css con questo contenuto:
/*
Theme Name: Il mio primo tema Child
Theme URI: http://www.miositoweb.dom/
Description: Tema child per proteggere il tema originale di WordPress
Author: Me Medesimo
Version: 0.1 beta
Template: twentyfourteen
*/
@import url("../twentyfourteen/style.css");
Le cose veramente importanti da sapere, e che devi modificare:
- Riga numero 2: va inserito il nome del tema che vuoi che appaia nella pagina dei temi, meglio se non รจ uguale al nome di un tema esistente per non creare confusione.
- Riga numero 7: va inserito il nome della cartella del tema originale, esattamente come la vedi via FTP facendo attenzione tra maiuscole e minuscole. Nell’esempio, la cartella di Twenty Fourteen, il tema standard di WordPress.
- Riga numero 8: devi modificare il percorso sempre con il nome della cartella che contiene il nome originale, facendo attenzione tra maiuscole e minuscole, al posto di twentyfourteen usato come esempio.
- Salva il file, il tuo tema child รจ pronto per l’uso.
7. In teoria avresti finito
Sei arrivato alla prova del nove, vai nella bacheca di WordPress, In Aspetto > Temi, ed attiva il tema child che hai creato, quindi controlla che tutto funzioni bene, sia lato visitatori che in bacheca.
[tweet “Come aggiornare un tema #WordPress modificato, senza perdere le personalizzazioni”]
Possibile complicazione: se il tema che stavi utilizzando era parecchie versioni indietro rispetto la versione corrente, รจ possibile che ci siano differenze importanti tra i file del template modificati e quelli originali, tali da causare malfunzionamenti.
Se si verifica questa situazione, devi solo prendere i template originali del tema della versione corrente, ed adattare a questi le modifiche fatte alle vecchie versioni degli stessi. Saranno questi i file del template che dovrai utilizzare nel tema child.
[box type=”tick” style=”rounded” border=”full”]Voi rimanere informato su WordPress e WooCommerce, consigli e barbatrucchi anche non pubblicati su questo blog? Iscriviti alla newsletter![/box]

32 risposte
Ciao Roberto! Intanto grazie per la guida. Ho un problema. Come hai sottolineato tu, uno dei file da me modificati รจ style.css, quindi l’ho copiato nella cartella del child theme. Poi perรฒ arrivo al punto in cui dici di creare un file style.css (con il contenuto da te indicato: nome del theme ecc) e inserirlo nella stessa cartella. A questo punto mi ritrovo due file style.css… รจ giusto? Come posso ovviare?
Ciao Azzurra, ovviamente non puoi avere due file style.css nella stessa cartella.
La cosa migliore sarebbe creare il file style.css come da guida, e copiarci le cose modificate che hai nel file del tema.
Oppure copiare il file nella cartella del tema child e cambiare l’intestazione, la parte iniziale commentata per capirci, m potresti avere qualche problema con gli eventuali percorsi indicati nel file.
rob
Grazie per la pronta risposta! Ho provato in entrambi i modi… niente..non carica nessuno stile…
Per aiutarti dovrei vedere qualcosa, altrimenti diventa difficile capire dove sta lo sbaglio.
rob
ciao Roberto, puoi dirmi quale e’ il plugin social che usi in questa pagina? E’ a pagamento? grazie
Infatti c’e’ anche whatsapp vedo
Se intendi questo
รฉ uno dei moduli di Jetpack.
rob
ah ok grazie mille si. Jetpack sarebbe il plugin in cui ci si deve registrare con un account wordpress.com?
PS: Ho provato adesso a scriverti col modulo di contatto, da’ un messaggio di errore dice di riprovare piu’ tardi, volevo solo avvisarti.
Si, jetpack richiede un account wordpress.com (gratuito per l’utilizzo base)
Strano per il modulo di contatto, ho appena provato e non mi ha dato errori, grazie comunque per il feedback.
rob
Ciao Roberto bellissima guida, ti chiedo un consiglio, io sono riuscito a creare un tema child che ho attivato e funziona benissimo del tema acquistato di themeforest THE7 con una vecchia versione. se ora voglio aggiornare il tema padre per non perdere nulla, come devo fare? Attivo il tema genitore e lo aggiorno e poi torno ad attivare il child? ed i plugin restando attivo sul child riesco ad aggiornarli?
grazie ciao
Se non hai modificato i files del tema, aggiornandolo non dovresti perdere nessuna impostazione, a meno che il tema che stai usando non sia troppo vecchio, e allora qualcosa magari la dovrai rimettere a posto.
Il tema child lo devi preparare e attivare prima di cominciare a lavorare sul sito.
Se invece hai modificato dei files del tema, devi creare il tema child e copiare in quello i files modificati, attivarlo e vedere che succede.
Roberto
Complimenti, ottimo articolo!
bellissimo articolo e spiegato bene, anche se rimane un po difficile per il fai da te!
Volevo chiederti una cosa. Non riesco a far diventare NON cliccabile i titoli dove sotto ci sono riportati i vari progetti. Tipo: lavori, poi sotto ci sono diversi nomi. Lavori รจ sempre cliccabile. come faccio a disabilitarlo?
Dove posso mandarti il link del sito?
Grazie mille Rob!!!!
Puoi usare un link fittizio, come il classico “#”, per far sรฌ che il link non porti a nulla, ma ovviamente dipende da come sono gestiti i link.
Se si tratta di menu o widget, o se sono inseriti manualmente.
rob
Ciao Roberto,
ottimo articolo.ho un dubbio!i file modificati da copiare nella nuova cartella child, vanno copiati all’interno di cartelle e sottocartelle create con lo stesso nome di quelle originali? es. themachild/assets/css ?
Grazie per l’aiuto!
Ludovico
Ciao Ludovico.
Sรฌ, bisogna rispettare i percorsi originali.
rob
problemi con tema copyblogger:
Vedo in giro che molti lo usano, con colori cambiati, cioรจ i titoli e i link, invece di rosso, sono di altri colori, e cosรฌ lo sfondo della testata, non รจ nero come di defalut. Io ho provato a sostituire i codici dei colori dal foglio di stile, ma niente, le modifiche non si visualizzano.
Come posso fare? Oppure questo tema non รจ modificabile? (e allora come hanno fatto gli altri che lo hanno modificato? Serve pagare qualcosa per avere un’autorizzazione?)
ti spiego :quando vado a modificare il colore in cifra esadecimale prima nella barra stile css di firebug, e poi nel foglio di stile del pannello di controllo di wordpress giusto no..?
poi faccio aggiorna file sotto , ma non me lo aggiorna..
ritorna il colore di prima…. che puo’ essere?
sto diventando matto.. scusami roby.. ๐
Ciao Rocco, da quello che dici sembra che il problema sia un altro, cioรจ che dall’editor di WP fai delle modifiche ma non te le salva.
Non รจ che hai dei problemi di scrittura sui file?
Magari un problema di permessi?
rob
Su wordpress: dopo le modifiche fatte con Firebug non mi aggiorna il tema.
Perche’?? Quando rivisualizzo il tema รจ sempre uguale..!!
Ti prego aiutami..!!!
Grazie!
Ciao Rocco, difficile risponderti ad una domanda cosรฌ generica.
Non uso Firebug e non ti so dire se possa essere lui il colpevole, oppure se sbagli i files da modificare, o se c’รจ qualche cache che non ti fa vedere le modifiche.
rob
Sarร fatto!
Forse dovresti inserire un link “donazioni”… A me hai risparmiato un bel mal di testa!
Mi pareva che c’era, nella sidebar della home sicuramente c’รจ.
Non volevo esagerare… ๐
rob
PERFETTO!
Hai guadagnato un fans…. ๐
A parte gli scherzi, troverรฒ il modo di sdebitarmi, promesso!!!
Grazie ancora, e buon lavoro
Qui si mangia bene e si paga poco, dillo anche agli amici ๐
rob
Grazie per l’articolo, molto utile!
Grazie ai tuoi articoli, ho personalizzato convenientemente un mio sito. Ora, vorrei togliere il pulsante “Acquista” dalla carrellata dei prodotti in home page, ma senza rimuoverlo globalmente (come fa, benissimo, il plugin WooCommerce Catalogue), immagino che sia possibile inserendo una funzione in function.php del tema in uso, ma… quale funzione inserire/modificare?
Grazie per i suggerimenti, e buon lavoro!
Se si tratta solo della home, puoi anche usare i CSS per nasconderli.
rob
…a saperli usare! ๐ ๐ ๐
Ok, mo mi studio quali devo modificare.
Intanto, grazie!
Se il sito รจ visitabile dammi il link, anche via mail, che ci guardo e ti dico
rob
Certamente! il sito รจ in costruzione, http://www.pardes.it
Prova a mettere questa riga nei css personalizzati se il tema li prevede, o nello style.css del tema child:
.home a.button {display:none !important;}dovrebbe funzionare, spero ๐
Come sempre un bell’articolone! Vado off topic e chiedo che plugin รจ quello che ti piazza i tweet in mezzo all’articolo?
Grazie! ๐
il plugin รจ Click to Tweet.
rob