utilizzo-avanzato-dei-temi
Temi

Progettiamo un tema WordPress in modo avanzato

image_pdfimage_print

Introduzione

Per poter creare un tema WordPress e rilasciarlo alla community o venderlo è necessario lavorare in modo avanzato al suo sviluppo. In questo articolo vedremo come portare un tema di WordPress ad un livello successivo rendendolo più solido, aggiungendo uno stile al contenuto nel modo che vogliamo, aggiungere caratteristiche personalizzate come header, footer e lavorare con le tassonomie personalizzate quando i tag e le categorie predefinite non sono in linea con il nostro progetto. Infine vedremo l’aggiunta di hook personalizzati al nostro tema per aggiungere funzionalità supplementari. Iniziamo e vediamo come portare un tema al Next Level!

Progettiamo il nostro tema

Il primo step da compiere  quando iniziamo a lavorare alla creazione di un tema per WordPress è di fare una lista di tutte le funzionalità che dovrà avere e fare in modo tale che l’utente sia in grado di gestire in modo autonomo i dati che gli servono e far sì che il sito web abbia l’aspetto desiderato dall’utente e non l’aspetto del tema di default. Vediamo alcuni aspetti di base.

Organizziamo i contenuti

L’organizzazione e la classificazione dei contenuti riguarda la definizione delle categorie da scegliere e quali parti del sito web dovranno essere statiche e quali dinamiche (gestibili in modo autonomo da backend e non da codice). Definire, in generale, quali dovranno essere le tassonomie coinvolte e quali. configurazioni/funzionalità dovranno avere.

Pensiamo al layout

Personalmente procedo, in fase preliminare, con carta e penna per poi passare ai wireframe e poi mockup, per definire per quali sezioni, pagine o elementi è richiesto di progettare spazio all’interno di una pagina (template di pagina). Inoltre è importare definire da subito in che modo andremo a popolare questi spazi in quanto questo determina la realizzazione di loop dedicati e dei template-file necessari.

Funzionalità particolari

Individuare se ci sono delle funzionalità da aggiungere che non vengono gestite nativamente da WordPress. In questo caso dobbiamo vedere se esiste un plugin oppure dobbiamo crearlo noi oppure, in fine, se esiste un sito web che eroga un servizio da poter integrare nel nostro sito.

Funzione di commento

Valutare la convenienza di impostare la funzionalità di commento sul nostro sito web e chiediamoci se è un valore aggiunto per l’utente e ci potrebbe dare vantaggi a noi o al cliente. Se optiamo per l’aggiunta di tale sistema è necessario prevedere un sistema antispam o limitare la possibilità di commentare soltanto a utenti registrati.

Come gestire piccoli elementi

Valutare se abbiamo necessità di gestire elementi dinamici all’interno dei quali aggiungere, ad esempio, dei banner o moduli particolari. In questo caso è buona pratica gestirli tramite widget.

Le informazioni sopra riportate sono fondamentali per delineare un tema WordPress robusto e ben organizzato. Vediamo alcune best practices utili in fase di sviluppo di un tema.

Ottimizziamo la gestione delle categorie

Per dare ai contenuti un’organizzazione generale, l’utilizzo delle categorie è fondamentale ma non dovranno essere troppe specifiche. I tag possono esse anche molto precisi ma sempre mantenere una loro utilità. Ad esempio se creiamo un sito web informazionale sui “Libri”:

  • Libri, può essere il custom post type;
  • i tag potrebbero essere:
    • autore
    • genere
    • titolo
    • casa editrice

In questo modo, oltre ad avere una buona organizzazione dei contenuti e garantire una buona navigazione agli utenti, si hanno dei vantaggi tecnici in quanto possiamo creare aspetti personalizzati per gli elenchi delle categorie tramite i temple file category.php e category-ID; in questo modo possiamo creare un tipo di contenuto in un modo e un altro contenuto con un aspetto differente.

Per avere un maggior controllo sui contenuti possiamo valutare anche la creazione di tassonomie personalizzate che, inoltre, potrebbero anche essere tenute nascoste agli utenti. Le tassonomie personalizzate ci permettono di aggiungere un maggior controllo sugli stili dei post.

Quindi, teniamo a mente di:

  1. assegnare lo stile alle categorie;
  2. ordinare per tag;
  3. perfezionare con i formati dei post.

Impostiamo i campi personalizzati (Custom Field)

I campi personalizzati (custom field o CF) di WordPress sono molto utili, ci permettono di archiviare dati, immagini, file e realizzare anche soluzioni di campi calcolati e condizionali (integrandoli con PHP e Ajax). I campi personalizzati permettono di dare al CMS funzionalità in più, che vanno oltre un classico titolo, uno slug o in generale quando non vogliamo/possiamo fare uso delle tassonomie di WordPress.

Se decidiamo di aggiungere i CF all’interno del nostro tema WordPress dobbiamo progettare tutta la gestione in modo user-friendly in quanto dovranno essere gestiti dal cliente, quindi dobbiamo prepare il cliente ed istruirlo in modo dettagliato. Ideale è preparare una documentazione PDF da aggiungere come link nella pagina di modifica dei CF. Inoltre è buona pratica costruire dei metabox propri e adattarli in base alle nostre esigenze.

Se non vogliamo creare custom field direttamente da codice, è possibile utilizzare il plugin Advanced Custom Field (ACF) (link al download) molto avanzato e fornisce una documentazione (leggi documentazione) in inglese molto dettagliata; è disponibile anche la versione Pro del plugin (vedi versione pro ACF).

Pagine e tipi di post

Le pagine sono ottimo punto di forza di WordPress, possiamo crearne quante vogliamo e, per ognuna, possiamo assegnare un proprio stile grafico (template) e avere la gestione sullo sul permalink. Quando realizzo un tema WordPress, i template di pagina non includono il contenuto effettivo della pagina (ma soltanto il titolo e lo slug nel pannello di amministrazione), nè il loop di WordPress, quindi i template di pagina consentono piuttosto altre operazioni.

Il template di pagina è uno strumento molto potente, utilizziamo con cognizione di causa (e con prudenza).

Se abbiamo bisogno di un maggior controllo possiamo utilizzare i tipi di post personalizzati (leggi articolo) per adattarli alle nostre esigenze. Ad esempio se vogliamo creare una pagina di errore (404, not found o di errore server 500) possiamo ricorrere ai tipi di post personalizzati. I tipi di post permettono, quindi, di avere un controllo più stretto e puntuale sui contenuti.

Conclusioni

Per ottimizzare e portare i siti web tradizionali (costruiti con elementi base di WordPress) ad un livello successivo, dobbiamo conoscere alcune le caratteristiche avanzate del CMS. Avere padronanza dei template di pagina, delle custom taxonomy, dei formati dei post e dei campi personalizzati, ci permette di realizzare siti web aziendali di alto livello, altamente personalizzati e facilmente gestibili (anche in fase di aggiornamento). In questo articolo abbiamo visto una serie di funzionalità che ci permettono di realizzare un tema solido e ben strutturato, assegnando stili personalizzati ai contenuti e organizzando i contenuti con una logica molto chiara, flessibile e resilente.

Con le funzionalità viste in questo articolo, possiamo fare veramente molto con WordPress, senza utilizzare necessariamente dei plugin. Ovviamente non è tutto ma questi sono i punti principali da affrontare in fase iniziale di creazione di un sito web. Restano da affrontare, ad esempio, tutti gli aspetti di user experience e design, che richiedono competenze dedicate.