Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 3 di 33
  • livello avanzato
Indice lezioni

I template files di WordPress

Una panoramica dei template file di WordPress con particolare attenzione al loro ruolo nella generazione delle pagine.
Una panoramica dei template file di WordPress con particolare attenzione al loro ruolo nella generazione delle pagine.
Link copiato negli appunti

Quando l'utente clicca su una voce di menu, il client invia al server una query string in base alla quale WordPress seleziona i contenuti dal database e sceglie il template da utilizzare per generare la pagina, seguendo la rigorosa logica della Template Hierarchy.

Il Loop: introduzione

Sebbene non esistano regole generali sulla struttura che deve avere un template file, generalmente questo non manca dei tag get_header(), get_sidebar() e get_footer(), che includono le parti della pagina e del ciclo iterativo (Loop) che accede al database e lancia a video i contenuti:

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
...
<?php endwhile; ?>
...
<?php endif; ?>

Il Loop genera quindi un elenco di articoli, il cui markup dipende dalle decisioni di chi sviluppa il tema. Per ogni articolo potrà essere visualizzato un estratto del contenuto principale o un testo alternativo (excerpt); potrà essere visualizzata o meno un'immagine di anteprima (post thumbnail); potranno essere visualizzate le categorie, i tag, la data di pubblicazione, l'autore e tutti i possibili metadati. Tutte queste opzioni devono essere attentamente vagliate quando si progetta un tema.

Figura 1. Il Loop del file archive.php del Blank Theme di HTML5 Reset
Il Loop

Quelli che seguono sono i principali template da tenere in considerazione quando si progetta un tema.

Il file index.php

index.php costituisce il template principale di un tema, sebbene sia allo stesso tempo quel template cui WordPress ricorre solo come soluzione di fallback, ossia quando mancano template specifici per il tipo di richiesta del client.

Figura 2. Il file index.php del Blank Theme
Il file index.php del Blank Theme

Proprio per questa sua caratteristica, il file index.php deve essere adatto a generare ogni tipo di pagina, dagli archivi di notizie, agli articoli singoli fino alle pagine statiche.

Gli archivi di notizie

Per WordPress un archivio è un elenco di post. L'utente può chiedere i post pubblicati in un dato periodo, creati da un determinato autore, appartenenti ad una certa categoria, o etichettati con uno specifico tag. In tutti questi casi viene richiesta una pagina d'archivio. Qualora non esista un template più specifico per il tipo di pagina richiesta, WordPress cercherà il generico file di archivio archive.php (in mancanza del quale tornerà al file index.php).

Normalmente il template archive.php è simile al file index.php, avendo anch'esso lo scopo di fornire un elenco di articoli.

Figura 3. Il file archive.php del Blank Theme
Il file archive.php

I template specifici: categorie, tag, autori

Esistono numerosi tipi di archivi, e WordPress permette di creare una pagina specifica per ognuna delle varie tipologie. Si avranno, quindi, i seguenti template:

  • author.php
  • category.php
  • date.php
  • tag.php
  • taxonomy.php

La specificità può essere ancora maggiore: è possibile creare, infatti, template diversi per ogni categoria/autore/tag/tassonomia, aggiungendo un suffisso al nome del file. Così, ad esempio, per le categorie si avranno i seguenti template:

  • category.php
  • category-$id.php
  • category-$slug.php

Allo stesso modo, per i tag si avrà:

  • tag.php
  • tag-$id.php
  • tag-$slug.php

L'elenco dei template è lungo, e si rinvia ancora al Codex per ogni utile approfondimento.

Post singoli e pagine statiche

Oltre che per gli archivi, è possibile creare template adatti alla visualizzazione di singoli contenuti, che possono essere articoli del blog, pagine statiche, attachment, e post personalizzati.

In questo caso la struttura del template sarà sensibilmente diversa dai file di archivio, sebbene in entrambi i casi saranno presenti i tag get_header(), get_sidebar() e get_footer(), oltre che, ovviamente, il Loop, che in questo caso manderà a video un solo elemento.

Figura 4. Il codice del file single.php del Blank Theme
Il file single.php

Per i singoli contenuti, WordPress dispone dei seguenti template:

  • attachment.php
  • page.php
  • single.php
  • custom.php

Anche questa volta è possibile creare template più specifici. Nel caso dei post, avremo:

  • single.php
  • single-$post.php
  • single-$posttype.php

Come prima, si rinvia al Codex per la descrizione analitica dei template.

Altri template

WordPress dispone di altri template, che vanno a completare il mosaico permettendo un controllo assoluto dell'aspetto del sito.

  • I template front-page.php e home.php sono utilizzati per la visualizzazione della pagina iniziale: il primo nel caso di una pagina statica, il secondo nel caso in cui si voglia un template più specifico del file index.php;
  • Il template 404.php è destinato alle pagine di errore;
  • search.php mostra i risultati di una ricerca interna al sito;
  • comments-popup.php genera una finestra di popup per i commenti.

Conclusioni e riferimenti

In questo capitolo si è voluta offrire una panoramica dei template file di WordPress e si è fatto riferimento ai seguenti articoli del Codex:

Nel prossimo capitolo si presenteranno le funzioni del framework che permettono di creare la struttura HTML dei template file.

Ti consigliamo anche