Prima di parlare delle tassonomie personalizzate di WordPress 3 è utile ricordare che cosa si intende con la parola tassonomia, con questo termine intendiamo una classificazione, una struttura che viene utilizzata per ordinare. WordPress utilizza due tassonomie per dare un ordine agli articoli inseriti: le categorie e i tag.
Quando abbiamo bisogno di una tassonomia personalizzata? Quando quelle standard di WordPress non ci bastano. Facciamo un esempio per capirci, vogliamo organizzare degli articoli sul nostro sito sulle nostre vacanze e suddividerli per "luogo geografico". Avremmo una struttura di categorie che può gestire i diversi luoghi, oppure inserire il nome della località come un tag. Ma come facciamo a sottolineare che abbiamo questa organizzazione di località? Dovremmo creare una tassonomia specifica e magari chiamarla "Località" che possiamo poi richiamare nella sidebar per facilità di navigazione.
Vediamo nello specifico come possiamo creare delle tassonomie personalizzate. C'è un modo molto semplice e veloce che è quello di scaricare e utilizzare un plugin apposito per farlo chiamato "More Taxonomies" (che vedremo nella prossima lezione) oppure il metodo manuale
Manualmente possiamo creare tassonomie personalizzate incollando il seguente codice nel file functions.php del nostro tema:
function create_my_taxonomies() {
register_taxonomy(
'NOMETASSONOMIA',
'post',
array(
'hierarchical' => false,
'label' => 'NOMETASSONOMIA',
'query_var' => true,
'rewrite' => true
)
);
}
add_action('init', 'create_my_taxonomies', 0);
Spieghiamo di seguito ora i singoli elementi:
Elemento | Descrizione |
---|---|
NOMETASSONOMIA | Indica il nome che vogliamo dare alla nostra tassonomia |
post | Serve a definire l'obiettivo della tassonomia, ovvero il post-type cui si può applicare. Possiamo usare le tassonomie sulle pagine o sui link, ma più spesso sono utilizzate per i post |
hierarchical (false) | Indica se la tassonomia ha una struttura gerarchica oppure no. In WordPress le categorie sono gerarchiche mentre i tag no. Il consiglio è quello di lasciare il valore "false " in modo da utilizzare le tassonomie allo stesso modo dei tag. |
label | Descrizione1 |
NOMETASSONOMIA | L'etichetta, il nome della tassonomia da mostrare nell'area amministrazione di WordPress |
query_var (true) | Indica a WordPress che desideriamo avere la possibilità di mostrare tutti i post catalogati per un particolare termine della nostra tassonomia |
rewrite (true) | Permette di riscrivere i permalink generati dalla nuova tassonomia in modo che siano di più facile lettura e più adatti ai motori di ricerca. |
Dopo aver effettuato queste modifiche nel momento in cui scriveremo un nuovo post a destra dell'editor testuale compariranno i campi delle tassonomie, simili a quello dei tag e aggiungendo delle nuove parole chiave, come facciamo per i tags otterremo degli indirizzi web legati alle nuove tassonomie, indirizzi che possiamo utilizzare per fornire ai lettori delle funzioni aggiuntive di ricerca per argomenti. Ora il prossimo "problema" da risolvere è come mostrare queste tassonomie personalizzate all'interno del nostro tema, in modo che gli utenti/lettori possano servirsene.
La tassonomia creata
Come mostrare le tassonomie personalizzate come "tag cloud".
Per avere questo tipo di visualizzazione occorre copiare e incollare il seguente codice nel codice del tema, nel punto dove vogliamo inserire la "tag cloud":
< ?php wp_tag_cloud(array('taxonomy' => 'NOMETASSONOMIA', 'number' => 0)); ?>
Dove nell'esempio c'è scritto "nometassonomia" dobbiamo inserire il nome che abbiamo scelto per la nostra tassonomia, possiamo inoltre modificare il parametro "number" per indicare il numero di termini che vogliamo mostrare nella nostra tag cloud, se lasciamo questo parametro a "0" verranno mostrati tutti i termini presenti nella nostra tassonomia personalizzata.
Come mostrare solo i post che hanno uno specifico tag? Se vogliamo ottenere questo effetto e visualizzare solo i post che abbiamo catalogato con uno specifico tag della nostra tassonomia personalizzata possiamo farlo inserendo il seguente codice prima del loop in uno dei file del nostro tema:
< ?php query_posts(array('Tassonomia' => 'Tag', 'showposts' => 5)); ?>
La cosa importante è che questo codice sia inserito prima del loop di WordPress altrimenti non funziona, Il loop di WordPress è una semplice funzione php che fa una richiesta molto semplice al database: c'è qualche post da visualizzare? Quanti sono? In che ordine devo mostrarli? Se il server risponde affermativamente, il vostro blog elaborerà quello che gli viene spedito dal database e lo mostrerà sul browser. Per evidenziare dove inserire questo codice possiamo sempre far riferimento di inserirlo prima della riga che inizia con questo codice:
< ?php if (have_posts()) : ?>
perché questo codice è l'inizio del loop.
Come mostrare l'elenco dei tag di una tassonomia personalizzata, in ogni post pubblicato? Semplicemente andando a modificare le pagine index.php e single.php nel nostro tema, aggiungendo il seguente codice nel punto in cui vogliamo che sia visualizzato l'elenco dei termini della nostra tassonomia.
< ?php echo get_the_term_list($post->ID, 'nometassonomia', 'nometassonomia: ', ', ', ''); ?>
Questa stringa va modificata in base alle nostre esigenze, gli ultimi tre parametri dicono a WordPress cosa inserire rispettivamente prima dell’elenco, tra i termini dell’elenco e dopo l’elenco dei tags.