Potrebbe nascere l’ esigenza di avere diversi template per diverse categorie. La pagina per la visualizzazione degli articoli di una categoria è, nel template più semplice, generata dallo stesso file che genera gli archivi per i mesi o le pagine dei tag, in genere archive.php. Per le categorie infatti non è possibile impostare un template da pannello di controllo, così come si fa per le pagine statiche.
Non tutti sanno però che esiste un modo per creare diversi template ed automatizzare la selezione dei template in base alla categoria.
WordPress infatti gestisce il tutto attraverso la Gerarchia del Template.
Per quanto riguarda le categorie, creare diversi template è molto semplice. Quando WordPress deve visualizzare una categoria cerca nella cartella del template in uso i seguenti file nel seguente ordine:
- category-ID.php
- category.php
- archive.php
- index.php
Quindi se volete modificare il template per una categoria con ID=6, vi basterà creare un template per la pagina categoria che chiamerete category-6.php. Per tutte le altre categorie WordPress utilizzerà il template category.php e se non c’è archive.php e se non c’è nemmeno questo allora ci sarà sicuramente index.php.
In questo modo, davvero semplice e veloce potete personalizzare le pagine a seconda delle categorie in modo semplicissimo e anche molto molto veloce!
Altri articoli che potrebbero interessarti:
Wp Ecommerce: le categorie e i menù di WP
Come rimuovere la base category dai permalinks
Seo Blog Tips #4: i permalinks








Ivan (1 comments)
Esiste un sito dove scaricare singole pagine già pronte, come accade per il template interi ?
nemoprincess (186 comments)
Ciao Ivan, non lo so per certo ma non credo, anche perchè una pagina non è nient’ altro che un template.
Bruno (2 comments)
Sai se questa regola è applicabile anche alle pagine?
nemoprincess (186 comments)
Ciao Bruno,
si una regola simile è valida anche per le pagine. I nomi dei template sono strutturati in questo modo:
Altrimenti puoi sempre creare una pagina da definire come template in questo modo:
< ?php
/**
* Template Name: Il tuo template per delle particolari pagine
*
*/
?>
e scegliere questo template dal pannello di admin quando crei una nuova pagina.
Bruno (2 comments)
Grazie NemoPrincess per la tempistica!
Ti spiego: sto facendo un sito basato su wp di cani. Ci sono 3 razze e ogni razza ha una categoria. Fino a qui bene perchè con la tua regola ho impostato un’immagine di sfondo per ogni razza diversa.
Il problema invece si pone sulle pagine. Essendoci per ogni categoria tot cani, quando apro la pagina del singolo cane vorrei applicare anche lì l’immagine di sfondo della razza di cui stiamo parlando.
Ho quindi provato a salvare una pagina come page-1.php ma in questo caso non mi riconosce la regola. Uhm…consigli?
alessandro308 (3 comments)
MA se carico la category.php di un altro template, nominandolo category-10.php poi questo non trovai i suoi css e i suoi collegamenti.
nemoprincess (186 comments)
Ciao Alessandro,
in realtà per altro template, si intende un file diverso, quindi una disposizione diversa diciamo, ad esempio potresti volere visualizzare solo i titoli dei post per l’ archivio della categoria X e titolo e testo per la categoria Y.
alessandro308 (3 comments)
Perchè ho provato, ma mi restituisce un errore in quanto il nuovo file category-10.php non trova i collegamenti interni ai suoi pezzi, che sono nella cartella originale. E non posso aggiungere quei file alla cartella del tema regolare in quanto hanno lo stesso nome di quelli regolari e andrebbero a sostituirli… :/