Questo articolo fa parte di un più vasto tutoria, dedicato a “Creare un tema WordPress personalizzato con _s e Bootstrap“. Tuttavia le informazioni per assegnare template personalizzati ad un tema WordPress sono valide in generale.
Per capire la struttura delle pagine che compongono un tema WordPress è importante capire la “gerarchia dei template“, che trovate ben spiegata qui, e che cercherò di riassumervi.
Cito testualmente dalla pagina del codex di WordPress: [su_quote]Per prima cosa, WordPress fa corrispondere ciascuna Query String ad un tipo di query — decide che tipo di pagina è stata richiesta (una pagina di ricerca, una pagina di categoria, l’home page ecc.). Quindi vengono selezionati i template — e viene generato il contenuto della pagina web — nell’ordine suggerito dalla gerarchia dei template di WordPress, in funzione di quali template sono disponibili in uno specifico Tema WordPress.[/su_quote]
Questo è un piccolo schema della gerarchia dei template:
Che cosa significa tutto ciò? Significa che WordPress carica i template secondo la gerarchia dello schema in immagine.
Ad esempio, se l’utente clicca sul mio link che richiama l’URL “https://www.creailweb.it/portfolio/siti-web/”, cioè una pagina di categoria delle tassonomie che ho creato per il portfolio, WordPress cerca di visualizzare prima un template che ha come nome file “taxonomy-{taxonomy}-{term}.php”, dove {taxonomy} nel mio caso sarebbe portfolio_category e {term} uno dei termini delle categorie portfolio (siti-web, gadget, immagine-azeindale). Io ho scelto di volere un template uguale per ogni categoria del portfolio, quindi WordPress non trova il template appena spiegato, e quindi cerca “taxonomy-{taxonomy}.php”, e nel mio caso lo trova (taxonomy-portfolio_category.php) e lo visualizza.
Se non lo avesse trovato avrebbe cercato un template generico per tutte le taxonomy (taxonomy.php), avrei potuto usare anche questo nome, avendo solo il portfolio in più, ma non si sa mai che voglia aggiungere qualcos’altro.
Se non trova nemmeno questo, va a cercare template ancora più generici, e cioè “archive.php” e poi “index.php”.
Quindi semplicemente dando il nome appropriato alla pagina php che vogliamo richiamare, WordPress capisce cosa deve visualizzare.
Questa è un’altra magia di WordPress!
Quindi per il mio tema ho utilizzato un template per l’home page (front-page.php), uno per il blog (index.php), quelli standard per le categorie dei post e per gli articoli e tag, ed ho aggiunto i template per il portfolio, uno per la pagina generale del portfolio (page-portfolio.php), una per le categorie del portfolio (taxonomy-portfolio_category.php), e infine una per le pagine singole del portfolio (single-portfolio_page.php).
Capire bene la gerarchia dei template è un passo molto importante per la creazione di un tema, una volta assimilato anche questo, andrete avanti molto spediti.