In questo articolo torniamo a condividere con te alcuni consigli di sviluppo, miei personali punti di vista che mi hanno permesso di velocizzare il mio lavoro con WordPress, e con il web in generale. Se sei curioso e vuoi conoscere maggiori dettagli puoi registrarti per avere accesso ai nostri corsi oppure iscriverti alla newsletter.
Tutto è iniziato nello scorso articolo dove ti ho invitato a Non Modificare il Loop di index.php!!!, benché il titolo possa sembrare un po’ minaccioso, il mio scopo è stato quello di mostrarti come sia possibile utilizzare due caratteristiche di questa piattaforma che ne modificano il comportamento, ovvero:
- l’uso di determinati nomi file che seguono la gerarchia WordPress con la quale possiamo inserire una struttura HTML diversa nelle pagine del nostro CMS;
- e l’uso dei Conditional Tag che permettono di riconoscere la pagina mostrata e eseguire arbitrariamente del codice.
Oltre a darti i motivi per i quali ritengo che modificare il Loop in un index.php
sia una pessima idea, ho cercato di fornirti due soluzioni semplici e veloci che ti potranno aiutare a sviluppare i tuoi nuovi temi.
In futuri articoli andremo anche a vedere queste caratteristiche da vicino e scopriremo come sia possibile popolare un tema WordPress appena installato (proprio come fa WooCommerce con le sue pagine negozio), ma quello che voglio fare con questo è suggerirti una buona pratica per lo sviluppo dei tuoi temi WordPress.
Una pratica che ti permetterà di fare meno errori e di essere più veloce; tutto quello che dovrai fare è utilizzare uno starter theme.
Se è la prima volta che leggi questo termine sono sicuro che troverai questa lettura molto più che interessante, ma allo stesso tempo credo che anche gli sviluppatori più navigati potrebbero trovare diversi spunti da questa lettura con gli starter theme che adrò man mano a consigliare.
Che Cosa è uno Starter Theme
Per comprendere qualcosa di nuovo è sempre bene partire dalla sua definizione e fare in modo che sia la più chiara e sintetica possibile:
Uno starter theme è un tema WordPress con pochissima grafica usato come base per lo sviluppo del tuo tema.
Quindi, come da definizione, uno starter theme non è altro che un insieme di file .php
, .css
e .js
che formano la base di partenza per lo sviluppo di un tema WordPress. Molto utile per tutte quelle situazioni in cui il cliente ci propone una grafica da realizzare e noi siamo liberi di utilizzare il codice che desideriamo, velocizzando il nostro lavoro scegliendo uno starter theme di base 😉
Se hai già letto la mia riflessione sul framework BootStrap o se conosci già il termine framework, probabilmente la definizione di starter theme ha rievocato in te la memoria di questi elementi, ma saresti abbastanza lontano dalla realtà dei fatti.
Un framework è un insieme di funzioni e logiche sviluppate separatamente dal core WordPress mentre uno starter theme utilizza codice WordPress standard.
Cerco di spiegarmi meglio. I framework, come Genesis per esempio, introducono spesso nuove funzioni e nuove strutture logiche che ci aiutano a velocizzare e semplificare lo sviluppo mentre, con uno starter theme, siamo in grado di utilizzare le stesse funzioni che WordPress ci fornisce per facilitare il nostro sviluppo.
Torneremo più avanti a vedere da vicino questo concetto, non voglio annoiarti con altri dettagli tecnici, quello che mi interessa è capire assieme a te perché uno starter theme è utile.
Come ti Aiuta uno Starter Theme
Saprai sicuramente che WordPress, come la maggior parte dei CMS sul mercato, è in grado di montare automaticamente la struttura HTML del sito. Come visto più volte nel corso Crea il tuo primo tema WordPress questa piattaforma ci offre moltissimi strumenti per richiamare i vari file PHP e fare in modo che sia il server a generare la pagina HTML per noi.
Nel mio percorso ho incontrato spesso persone che hanno iniziato a muovere i primi passi modificando uno dei temi che troviamo preinstallati all’interno di WordPress, sia i famosi Twenty Ten, Eleven, Twelve… Magari anche tu hai iniziato a sviluppare temi WordPress studiando il codice presente in questi e, se ci pensi un attimo, non hai neanche fatto una cattiva scelta!
In fin dei conti, questi temi vengono testati da centinaia di volontari e il codice contenuto è sicuramente di alta qualità ma, tanto per iniziare, non è stato scritto per aiutare lo sviluppatore.

Al contrario la prima, e forse più importante, cosa che devo farti notare è che tutto il codice presente in uno starter theme è molto ben documentato e spesso troverai che le soluzioni utilizzate provengono da buone pratiche e bug fix che sono stati testati negli anni da migliaia di sviluppatori web.
La presenza dei commenti, inoltre, ti aiuterà a capire cosa fa una determinata funzione e ti permetterà di scoprire nuovi metodi e strutture che potranno facilitare il tuo futuro sviluppo.
Come dicevo prima, partire da un tema preinstallato in WordPress può essere utile perché permette di scoprire come programmano gli sviluppatori WordPress e che tecniche utilizzano, ma il codice contenuto all’interno di questi temi viene molto ottimizzato e non sempre è facile trovare dei commenti o capire come funzionano determinate strutture.
Viceversa, all’interno di uno starter theme, hai tutto a portata di mano e nei commenti troverai link a risorse online che ti spiegano nel dettaglio come funzionano queste tecniche (molto utile se vogliamo continuare a mantenere le nostre conoscenze aggiornate 😉 ).
Oltre a questo c’è da dire che, a differenza dei temi standard, uno starter theme è stato creato appositamente per essere modificato e per creare qualsiasi tipo di layout. Al posto di trovare regole ad hoc per realizzare la struttura e la grafica del tema (come accade per la famiglia dei Twenty) avrai a disposizione diverse soluzioni che ti permettono di velocizzare il tuo sviluppo.
Un primo esempio sono le griglie CSS che trovi al loro interno ma, a seconda dello starter theme che usi, troverai molti altri componenti che ti saranno di grande aiuto come delle alert box pronte all’uso, la rimozione di alcune informazioni che aumentano la sicurezza del tuo WordPress, degli script di esempio che ti permetteranno di creare in un baleno nuove sidebar o menu e molto altro.
Gli starter theme più recenti contengono al proprio interno anche file di configurazione per Gulp o Grunt e questo ci consente di iniziare immediatamente a sviluppare installando con un semplice npm init tutti gli strumenti che abbiamo bisogno per lavorare nel migliore dei modi. Torneremo su questo argomento in un prossimo articolo, ma se sei interessato non dimenticarti di commentare in basso 😉
Ovviamente le funzionalità che potrai trovare all’interno di questi temi variano a seconda delle scelte dei loro sviluppatori, ed è per questo che ti consiglio di provarne diversi per scoprire quello che si addice meglio al tuo stile di programmazione.
Al momento dovresti aver capito che uno starter theme è semplicemente un tema pronto a essere modificato, il codice all’interno è ben documentato e potrai trovare porzioni di codice che possono aiutarti e renderti più veloce nelle tue nottate di sviluppo. Manca soltanto una cosa… Scoprire quali sono questi starter theme!
Gli Starter Theme che ti consiglio
Il consiglio che ti ho dato poco fa è lo stesso che io ho seguito negli ultimi anni, ovvero, mi sono messo a provare diverse soluzioni che mi permettessero di avere uno starter theme pronto da modificare e da trasformare seguendo le richieste del cliente.
Inizialmente mi sono o innamorato di WhiteBoard che, nelle sue versioni precedenti, mi forniva un semplicissimo tema WordPress senza alcuno stile pronto da essere modificato, purtroppo nelle ultime versioni hanno avuto la bella idea di diventare un framework e scombussolare il codice che lo compone.
Update 2016: sono ormai 5 anni che il core di questo progetto non viene aggiornato, forse è meglio proseguire con i prossimi consigli.
Dato che mi sono sempre tenuto aggiornato, questo cambiamento nelle politiche di WhiteBoard non mi ha colpito molto, in fin dei conti, ero a conoscenza della presenza di molti altri starter theme che potevo utilizzare.

La mia prima scelta è ricaduta su Bones, un tema ben sviluppato e che ottiene moltissimi contributi nel suo repository GitHub (purtroppo non più attivo). Lo sviluppatore principale di questo tema è molto attivo nella comunità WordPress e accetta volentieri le modifiche proposte dagli altri sviluppatori; soltanto questo lo rende sicuramente un progetto interessante da seguire!
Per altri motivi, posso dire che Bones è un ottimo prodotto anche perché include un gran numero di funzionalità pronte ad essere attivate e, oltre a questo, offre la possibilità di sviluppare il proprio codice CSS grazie a linguaggi precompilati come Sass e (il mio favorito) LESS.js. Se ancora non conosci questi linguaggi, tutto quello che devi sapere al momento, è che ti permettono di sviluppare il tuo codice CSS ad una velocità incredibile!
Potrai utilizzare variabili, funzioni o mixin che ti permetteranno di automatizzare molti processi e rendere lo sviluppo dei tuoi fogli di stile un vero e proprio divertimento.
All’interno dei file .less
o .sass
, oltre alla griglia che ti permetterà di definire il layout delle tue pagine, troverai molti altri file che ti permettono di avere un tema responsive out-of-the-box e anche alcune classi che ti aiuteranno a creare le tue alert box e moltissime altre regole CSS in grado di aggiungere effetti ai tuoi elementi.
Tutto questo sembra molto interessante e, come scopriremo in un prossimo articolo anche molto utile, ma se sei un tipo minimalista che non vuole perdere troppo tempo a capire come funzionano le cose (o per apprendere quali funzioni Bones puoi utilizzare) puoi sempre iniziare il tuo percorso con uno starter theme diverso e più minimale; potresti sempre iniziare dallo starter theme che la stessa WordPress consiglia: _s.
Con _s (underscores) hai la completa libertà di sviluppo, tutto il codice che puoi trovare al suo interno è stato inserito da decine di sviluppatori WordPress che si sono riuniti con un unico scopo, creare uno starter theme standard che permetta di sviluppare qualsiasi sito web!
Tanta è la loro volontà nel permetterti di sviluppare il tuo tema senza dover rispettare troppe restrizioni che hanno addirittura deciso di non includere alcuna griglia; sarai quindi libero di implementare quella che meglio ti si addice senza essere costretto a usare qualcosa che ti viene già fornito.
Benché presenti alcune lacune CSS (ho forse dimenticato di dirti che, ovviamente, il tema non è responsive?), bisogna dire che a livello di codice PHP non ha niente da invidiare ad altri starter theme.
All’interno dei suoi file potrai trovare molto codice utile per attivare e personalizzare le opzioni che la stessa piattaforma ci fornisce. Vuoi forse modificare il tuo nuovo tema con il Theme Customizer presente in WordPress? Fatto. Vuoi permettere all’utente di caricare e personalizzare la testata del tuo tema senza sudare sulla tastiera? Fatto. Oppure vuoi semplicemente inserire l’infinite scroll introdotto con il plugin JetPack? Beh, è fatto anche questo!
Negli ultimi anni gli sviluppatori di questo tema hanno anche rilasciato delle versioni che sono in grado di rappresentare diversi layout molto famosi nel web. Al posto di chiamarli layout li hanno chiamati Components e ti consiglio proprio di consultare la pagina dedicata per scoprire come sia possibile scaricare la versione ideale per il progetto che stai sviluppando.
Quello che sto cercando di dirti è che questo starter theme è ottimo se vuoi sviluppare un tema che usa al 100% le funzionalità che un WordPress ma, in mia opinione, se le tue necessità sono leggermente diverse allora ti conviene cercare un altro starter theme che le soddisfi.

Passando all’analisi di alcuni starter theme moderni c’è da dire che ci sono altri contendenti che non ho ancora avuto il piacere di testare, e che forse non avrò mai tempo per farlo visto che il nostro sviluppo ormai si è orientato esclusivamente sul framework Genesis.
Devo dire che le mie scelte non devono influenzare le tue e per questo motivo, soprattutto se sei un appassionato del framework frontend Foundation, ti farà piacere sapere che esiste un interessante progetto chiamato FoundationPress che include tutte le ultime bellezze dello sviluppatore moderno.
Come il precedente Bones, anche questo porta con sé un’ottima struttura di file Sass ma riesce ad andare ancora più lontano.
Caratteristiche come codice semantico, responsive incluso e tutti gli elementi e gli effetti creati per Foundation sono tutti presenti all’interno di questo starter theme. Puoi scoprirli uno per uno in una pagina dedicata del progetto.
Conclusioni
So benissimo che esistono decine di altri starter theme oltre a quelli che ti ho elencato, alcuni sono veramente degni di nota e ti consiglio di indicarmeli all’interno dei commenti; ma il mio scopo non era quello di elencare tutti gli starter theme, sarebbe una cosa difficile e alquanto inutile.
Piuttosto il mio obiettivo è quello di parlarti della presenza di questi temi, di come puoi utilizzarli per velocizzare il tuo sviluppo e quali sono i miei favoriti.
È però giunto il momento di conoscere la tua opinione, il tuo pensiero. Quali sono gli starter theme che hai usato più volentieri negli ultimi anni? Perché ti sono stati così utili? Oppure, perché sei contrario all’utilizzo di questi temi?
Sono proprio curioso…
Utilizzare il linguaggio di templeting twig per sviluppare temi personalizzati???
Anche quella è una soluzione, ma non segue completamente la WordPress Way e richiede l’installazione di componenti aggiuntivi all’interno del proprio server. Ho visto buoni temi che sono stati sviluppati con questa soluzione ma personalmente non sono un grande fan…
Preferisco usare il classico PHP e le funzioni offerte da WordPress ma non ti nascondo che mi hai incuriosito 😉
Ciao, vorrei segnalare anche il tema Starter WP. Potete scaricarlo gratuitamente qui: http://wordpress.org/themes/starter-wp/
Ciao iografica,
anche se il tema non sembra molto in linea con quelli elencati, perché non sembra specifico per lo sviluppatore, mantengo comunque la tua segnalazione perché stai contribuendo alla crescita della piattaforma WordPress e per questo vogliamo premiarti.
Continua così e a presto,
Andrea
Ciao, io per siti molto basici mi sono creato un template di partenza con Bootstrap 4. Uno starter theme che ho visto ma non ho Amalia avuto modo di provare è invece understrap, che dovrebbe essere un’evoluzione di underscores.
Ciao Andrea,
onestamente noi siamo un po’ contrari all’uso di Bootstrap per la creazione di temi WordPress, come spiego meglio in questo articolo. In sintesi questa piattaforma offre già tanto anche a livello di script JavaScript che ci sembra sia troppo inserire anche tutte le dipendenze di Bootstrap per creare un semplice sito web.
Comunque non diciamo che la nostra via è l’unica, però seguendo queste motivazioni non ci è mai capitato di testare Understrap ma piuttosto ci siamo spostati negli ultimi anni a sviluppare esclusivamente siti web con Genesis. Ti lascio alcuni articoli che abbiamo scritto se vuoi farti un’idea:
Come approcciarsi allo sviluppo in Genesis
Strumenti utili per lo sviluppo in Genesis
Gestisci la semantica in Genesis
Se poi l’argomento ti interessa e vuoi capire come iniziare a muovere i primi passi all’interno di questo framework abbiamo creato un corso dedicato a Genesis che ti aiuterà a comprendere meglio le sue potenzialità e come utilizzarlo.
Grazie intanto per essere passato dal nostro sito e spero di rivederti presto.
Andrea