Sei all'inizio della pagina
due chiacchiere

Un tema a pezzi è meglio

Per gli esperti di WordPress, in questa puntata non sto per dire nulla di sconosciuto, ma per te che hai sempre voglia di imparare cose nuove, sarà una cosa interessante da sapere: il mio tema è diviso in tanti piccoli pezzi, come in un mosaico. WordPress, il sistema di gestione che uso per far funzionare il blog, “suggerisce” questo approccio già nei suoi temi predefiniti. In pratica, una volta scritto il codice HTML della generica pagina del mio sito, ne ho individuato i tasselli principali: l’intestazione, il menù di navigazione, il contenuto vero e proprio, i commenti, ed il piè di pagina. Ho dunque smembrato quel codice originario, salvando il rispettivo pezzo di HTML in un file a parte (con WordPress bisogna usare i nomi richiesti dal sistema: header.php, post.php, footer.php, e via dicendo).

A questo punto il file principale, index.php, non è altro che un collage di questi pezzi. L’utilità? Organizzare meglio le informazioni e, ancora una volta, riusarle. Nessuno vieta infatti di costruire con WordPress un tema basato su un singolo file “monolitico”: questo, però, rischierà di diventare davvero grosso e complesso. Immagina ad esempio di voler mostrare un’impaginazione diversa a seconda che il visitatori richieda un singolo articolo o gli ultimi articoli di una categoria. Nel caso di un singolo file, dovrai riempire il codice di controlli per capire quale pagina viene visualizzata in questo momento. Sfruttando l’altro approccio, ti basterà creare un file chiamato single.php in cui “richiamerai” gli altri tasselli: l’intestazione, il menù ed il piè di pagina, mostrando il contenuto come preferisci. Allo stesso modo, potrai creare un archive.php, dove però il contenuto sarà diverso, adattato alla tipologia di pagina in questione, ma gli altri pezzi saranno riciclati (intestazione, menù di navigazione ecc). Il bello è che se vuoi cambiare qualcosa nell’intestazione, ti basterà modificare un solo file (header.php) e tutti gli altri che lo includono, useranno automaticamente la nuova versione.

Dirai: vabbè, questa era una cosa scontata da sapere. Ma non credere che tutti sono intelligenti come te 😉 Non di rado mi è capitato di vedere temi di WordPress che non sfruttavano a pieno la potenza della struttura modulare. Per non parlare delle funzioni extra che si possono definire nel functions.php, per personalizzare il comportamento del sistema, o comunque estenderlo includendo casi specifici non previsti dagli sviluppatori. Io confesso di non farne uso, perché mi basta quello che WordPress offre di suo. Però ho un sistema che si occupa di leggere i cookie e mostrare il layout appropriato ad ogni utente (alto contrasto, mese corrente, largo, stretto, con l’opportuna dimensione dei caratteri e via dicendo). Da notare che quest’idea si applica anche a siti che non usano WordPress come piattaforma di gestione: in quel caso si parla delle cosiddette server side include.

Riferimenti

Commenti

  1. Simona ha detto:

    io sono una fan sfegatata di WordPress!!! secondo me è il migliore CMS in circolazione, proprio per questa sua facilità nella gestione dei ‘pezzi del puzzle’…sempre secondo il mio modestiiiiiiiiiiiiiissimo parere 🙂

  2. camu ha detto:

    @Simona: ed allora siamo in due 🙂 Mi sa che prossimamente regalerò una maglietta di WordPress qui sul blog eheh

  3. Simona ha detto:

    io sono già con le mani in alto per prenderla 🙂

  4. camu ha detto:

    @Simona: 🙂 in effetti sto pensando di fare un contest, ma ancora devo organizzarlo per bene…

  5. Francesco ha detto:

    Dopo il primo approccio a Joomla e alla sua architettura modulare, sono lieto di apprendere che WordPress ha le stesse potenzialità, orientate però all’interazione.

    Vi chiedo un’idea.

    Dopo aver sviluppato un sistema (in nome della totale Accessibilità … ahia!) di una pagina intermedia tra comments.php wp-comments.php che permette la revisione dei dati inseriti e visualizza il messaggio di errore per mancato di inserimento di nome, e-mail o commento mi trovo di fronte al testo del messaggio di errore scritto da me in Italiano.

    Non posso infatti acquisire il contenuto di $message da wp-includes/functions.php.

    E’ buona politica escludere i messaggi di errore con template e contenuto personalizzato dal tema o tradurli in Inglese per distribuire il tema worldwide?

    In cambio della Vostra attenzione, una ricetta alternativa per le uova fritte

    http://blog.4elementi.info/uovafritte.php

    Salutone

    Francesco (Sardegna)

  6. camu ha detto:

    @Francesco: hai provato a sfruttare il supporto multilingua? Tipo aggiungendo le chiamate gettext di php al tuo codice?

    1. Francesco ha detto:

      @camu: ciao, anch’io sono arrivato allo stadio modulare (no, non sono ancora a pezzi 🙂 ), così ho la mia pagina category.php per mostrare i post appartenenti a ogni singola categoria, idem i singoli post (single.php), le pagine (page.php) tra cui persino la mappa creata con archives.php e che aggiorna da sola categorie e sottocategorie, nonchè – dulcis in fundo – i mesi (date.php).
      Sto usando un header (immagine) differente per pagine e singoli post, mentre l’header di presentazione è unico anche per categorie e mesi.
      Pensi possa essere disorientante?
      http://opere.4elementi.info
      Ehi Camu, i tuoi commenti sul mio blog sono sempre attesi e graditi!!!

Lascia un commento

Collegamenti utili