Personalizzare BeTheme senza romperlo né perdere gli aggiornamenti

BeTheme è uno dei temi WordPress più potenti e completi in circolazione.
Proprio per questo, viene spesso personalizzato male: codice sparso ovunque, modifiche dirette al tema parent e aggiornamenti rimandati per paura di rovinare il lavoro svolto.
Dopo aver parlato di come rimuovere la licenza BeTheme e di come risolvere alcuni problemi con il Mega Menu, in questo articolo vediamo come mettere le mani su BeTheme senza comprometterne la stabilità e senza rinunciare agli aggiornamenti.
Child theme: fatto bene, non “tanto per”
Il child theme è lo strumento principale per personalizzare qualunque tema di WordPress e BeTheme non fa eccezione.
Il problema è che spesso viene creato “per obbligo”, senza una reale strategia, trasformandosi rapidamente in una copia disordinata del tema principale chiamato anche tema padre o parent.
Un child theme ben fatto non serve a duplicare BeTheme, ma a intervenire solo dove necessario, mantenendo il progetto aggiornabile nel tempo.
Perché il child theme è fondamentale
- ti permette di aggiornare BeTheme senza perdere personalizzazioni;
- mantiene separate le modifiche custom dal codice originale;
- rende il progetto più leggibile anche a distanza di mesi.
Se stai modificando file direttamente nel tema parent, devi sapere che al prossimo aggiornamento perderai tutte le modifiche fatte.
Struttura minima consigliata
Un child theme efficace ha una struttura molto semplice.
Nella maggior parte dei progetti, dentro la cartella o directory “betheme-child” bastano pochi file ben organizzati:
- style.css;
- functions.php;
- altri file .css o .js all’interno di una directory “css” e “js”.
Aggiungere file “preventivamente” è uno degli errori più comuni: ogni file dovrebbe esistere solo se serve davvero.
Cosa mettere nel child theme
- style.css → solo le informazioni di base e pochi stili globali;
- functions.php → funzioni personalizzate, hook/ganci e filtri;
- CSS e JS custom → separati e caricati correttamente.
Il child theme deve contenere solo codice che hai scritto tu o che stai mantenendo attivamente.
Cosa NON mettere nel child theme
- file copiati dal tema parent “nel caso servano”;
- template duplicati senza una reale modifica;
- funzioni prese da forum o snippet senza contesto;
- CSS enorme e generico che cresce nel tempo senza controllo.
Ogni file duplicato inutilmente è un potenziale problema al prossimo aggiornamento.
Override dei template: quando servono davvero
BeTheme permette di sovrascrivere alcuni template copiandoli nel child theme.
Questa operazione va fatta solo quando:
- non esiste un hook o filtro adeguato;
- la modifica è strutturale, non solo estetica;
- sai esattamente cosa stai cambiando.
Regola pratica: se puoi risolvere con un hook o con del CSS, sostituire file PHP è probabilmente eccessivo.
Una regola semplice che evita molti problemi
Prima di aggiungere qualsiasi file o codice nel child theme, chiediti:
- questa modifica sopravvive a un aggiornamento?
- riesco a capire cosa fa anche tra sei mesi?
- esiste un modo più semplice per ottenere lo stesso risultato?
Se la risposta è “no” anche solo a una di queste domande, fermati e rivedi l’approccio.
Un child theme pulito non è quello che fa tutto, ma quello che fa solo ciò che serve.
Dove intervenire davvero: functions.php
Il functions.php del child theme è il punto giusto per:
- caricare CSS e JS personalizzati;
- usare hook e filtri di WordPress;
- modificare piccoli comportamenti senza toccare il parent.
Esempio corretto di enqueue:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
function mytheme_enqueue_assets() { wp_enqueue_style( 'mytheme-custom-css', get_stylesheet_directory_uri() . '/css/custom.css', array(), '1.0' ); wp_enqueue_script( 'mytheme-custom-js', get_stylesheet_directory_uri() . '/js/custom.js', array('jquery'), '1.0', true ); } add_action('wp_enqueue_scripts', 'mytheme_enqueue_assets'); |
Evita funzioni duplicate del tema parent o hack trovati online senza sapere cosa fanno.
Hook e override in BeTheme: scegliere la strada giusta
Quando si lavora con BeTheme, una delle decisioni più importanti riguarda come intervenire sul codice.
Spesso si tende a copiare file dal tema parent nel child theme, ma nella maggior parte dei casi esiste una soluzione più pulita e sicura.
La scelta corretta sta quasi sempre tra tre strade: hook, sostituire dei template o semplice CSS. Capire quale usare fa la differenza tra un progetto aggiornabile e uno fragile.
Parti sempre dagli hook o ganci
Gli hook sono il modo migliore per personalizzare BeTheme senza modificarne i file originali. Permettono di aggiungere o modificare funzionalità in punti precisi del tema, mantenendo la compatibilità con gli aggiornamenti.
Usa un hook quando:
- devi aggiungere contenuti prima o dopo un elemento esistente;
- vuoi modificare un comportamento senza riscrivere un template;
- hai bisogno di una logica condizionale (solo in certe pagine o contesti).
Esempio semplice:
|
1 2 3 4 5 |
function my_custom_content_before_footer() { if (is_page()) { echo '<div class="mytheme-custom-block">Contenuto personalizzato</div>'; } } add_action('mfn_hook_before_footer', 'my_custom_content_before_footer'); |
In questo modo il contenuto viene aggiunto senza toccare alcun file del tema parent.
Quando basta il CSS
Molte personalizzazioni non richiedono PHP o override. Se stai cambiando solo:
- spaziature;
- colori;
- allineamenti;
- comportamenti responsive.
Allora il CSS è spesso la soluzione migliore.
Usare un override PHP per una modifica puramente estetica è uno degli errori più comuni e porta solo complessità inutile.
Override dei template: ultima risorsa
L’override dei template dovrebbe essere considerato solo quando:
- non esistono hook disponibili;
- la modifica è strutturale;
- serve intervenire sul markup HTML generato.
In questi casi, copiare il file nel child theme è corretto, ma va fatto con consapevolezza.
Attenzione: ogni override crea un legame diretto con la versione del tema in uso. Dopo un aggiornamento di BeTheme, è sempre necessario verificare che il file sovrascritto non sia cambiato nel parent.
Un criterio pratico per decidere
Prima di intervenire, chiediti sempre:
- Posso risolvere con un hook?
- È solo una modifica visiva?
- Sto copiando un file solo per comodità?
Se puoi usare un hook, usa un hook. Se basta il CSS, usa il CSS. L’override dei template dovrebbe essere l’eccezione, non la regola.
Scegliere la strada giusta fin dall’inizio evita refactor inutili e rende BeTheme molto più gestibile nel tempo.
CSS e JS custom: isolarli sul serio
Uno degli errori più comuni nei progetti basati su BeTheme è la mancanza di isolamento del codice custom.
CSS e JavaScript generici finiscono inevitabilmente per entrare in conflitto con il builder, con i plugin o con aggiornamenti futuri del tema.
Isolare davvero CSS e JS significa scrivere codice che riguarda solo ciò che stai sviluppando, senza dipendere da classi, ID o comportamenti interni di BeTheme.
CSS: evitare nomi generici e conflitti
Classi come .box, .active, .hidden o .content sono una delle principali cause di bug difficili da individuare. Funzionano oggi, ma rischiano di rompersi domani.
Una buona pratica è usare sempre un prefisso dedicato al progetto o alla funzionalità:
|
1 2 3 4 5 6 7 |
.mytheme-feature-box { display: flex; gap: 20px; } .mytheme-feature-box__title { font-weight: 600; } |
In questo modo il CSS resta leggibile, prevedibile e non interferisce con lo stile del tema o del builder.
CSS contestuale, non globale
Evita di scrivere regole che valgono per tutto il sito se servono solo in una sezione specifica. Più il CSS è contestuale, meno effetti collaterali produrrà.
Meglio ancorare gli stili a un wrapper specifico piuttosto che a elementi generici:
|
1 2 3 |
.classe-personalizzata .nome-classe-34w3d54gf { margin-bottom: 30px; } |
JavaScript: scope locale e niente globali
Anche per il JavaScript vale la stessa regola: il codice dovrebbe vivere solo dove serve.
- evita variabili globali;
- non fare affidamento su classi del builder;
- aggancia gli script solo agli elementi che controlli tu.
Esempio di struttura semplice e sicura:
|
1 2 3 4 5 6 7 8 9 10 11 |
(function () { const featureBoxes = document.querySelectorAll('.mytheme-feature-box'); if (!featureBoxes.length) { return; } featureBoxes.forEach(function (box) { box.addEventListener('click', function () { box.classList.toggle('is-active'); }); }); })(); |
In questo modo lo script non inquina lo scope globale e non genera errori se gli elementi non sono presenti.
Caricare CSS e JS solo dove servono
Un altro aspetto spesso sottovalutato è il caricamento condizionale degli asset. CSS e JS custom non dovrebbero essere caricati su tutte le pagine se servono solo in contesti specifici.
Usando condizioni in functions.php puoi limitare il caricamento solo dove necessario, migliorando performance e manutenzione.
CSS e JS ben isolati riducono drasticamente bug, conflitti e problemi dopo gli aggiornamenti di BeTheme.
Errori comuni che rendono BeTheme ingestibile
- usare il builder per qualsiasi cosa;
- CSS sparso tra builder, child theme e plugin;
- nessuna separazione tra layout e logica;
- plugin aggiunti per compensare una cattiva struttura.
Il problema, nella maggior parte dei casi, non è BeTheme, ma come viene usato.
Personalizzare BeTheme senza romperlo né perdere gli aggiornamenti: conclusione
BeTheme non è un tema “limitante” né un tema che costringe a soluzioni sporche. Al contrario, offre molti strumenti per essere personalizzato in modo corretto, ma solo se viene usato con metodo e consapevolezza.
Un child theme pulito, l’uso intelligente degli hook e l’isolamento di CSS e JavaScript sono ciò che distingue un progetto solido da uno fragile. Non si tratta di scrivere più codice, ma di scrivere codice migliore.
Ogni scorciatoia presa oggi, override inutili, CSS generico, funzioni buttate nel posto sbagliato, si trasforma quasi sempre in un problema domani, soprattutto quando arriva il momento di aggiornare BeTheme o WordPress.
Seguendo un approccio ordinato puoi:
- aggiornare il tema senza timore;
- capire rapidamente cosa fa il tuo codice anche dopo mesi;
- ridurre drasticamente bug e conflitti;
- lavorare più velocemente sui progetti futuri.
BeTheme funziona al meglio quando viene trattato come una base solida su cui costruire, non come qualcosa da aggirare o forzare. Scegliere hook invece di override, CSS contestuale invece di regole globali e asset caricati solo dove servono fa una differenza enorme nel lungo periodo.
Se lavori spesso con BeTheme, adottare questo metodo non è solo una buona pratica: è un investimento sulla qualità del tuo lavoro e sulla serenità dei prossimi aggiornamenti.

Lascia un Commento
Vuoi partecipare alla discussione?Sentitevi liberi di contribuire!