Ormai quasi tutti i siti hanno delle pagine statiche, come le classiche “Chi sono”, “Contattami”, ecc…, ma anche una parte di articoli o contenuti categorizzati, da indicizzare nella barra laterale presente in ogni pagina di un post. WordPress, tra i widget disponibili, prevede proprio “Articoli recenti”, il quale prende tutti i post più recenti e per ciascuno crea un link per accedervi.

Nel caso in cui tutti i post siano associati a una categoria, oppure a più categorie ma non ci interessa fare distinzioni nell’indicizzazione, tale widget è indicato, tenuto conto che possiamo impostare un numero massimo di articoli.

Tuttavia, ci sono casi in cui vogliamo escludere alcune categorie, piuttosto che alcuni articoli, o indicizzarli divisi per categorie, per autore, ecc… Insomma, vogliamo stabilire dei criteri di cui WordPress dovrà tenere conto ogni volta che genera la lista di post in quel widget, presente nella barra laterale, piuttosto che nel footer.

A tale scopo ho trovato molto utile il plugin “List Category Posts”, il cui utilizzo lo spiego a grandi linee in questo articolo, mediante un esempio.

Suddividiamo i post in categorie ed escludiamo quello corrente

In un ipotetico sito di ricette ciascuna, pubblicata come post, sarà associata ad una delle seguenti categorie: Primi piatti, Secondi piatti, Dessert.

Quando un visitatore legge una ricetta potrà accedere ad un’altra fra quelle pubblicate di recente, grazie ai link presenti nella barra laterale. Si può presupporre che l’utente non cerchi una ricetta a caso, senza alcun criterio, ma voglia distinguere tra un primo, piuttosto che tra un secondo o un dolce.
È quindi necessario elencare le ultime ricette inserite, suddivise per categorie e non tutte insieme.

Quindi devo create tre widget differenti che peschino gli articoli recenti, però il primo considera solo i primi piatti, il secondo i secondi, il terzo i dessert. Inoltre, dato che imposto cinque link per categoria, voglio escludere quello che punta al post corrente, evitando di indicizzarlo in sfavore di un altro, potenzialmente interessante.

Utilizzare List Category Posts per indicizzare le ultime ricette distintamente

Anzitutto va scaricato, installato ed attivato List Category Posts.
Per ogni tipo di ricetta metto nella barra laterale un widget di testo semplice, nel quale va scritto lo shortcode responsabile della generazione della lista, con gli attributi che consentono di impostare i filtri.
Qua ne illustro solo alcuni, quelli fondamentali per il funzionamento di questo esempio, ma ce ne sono molti altri, che si possono trovare alla pagina di descrizione del plugin.

Il nome dello shortcode è catlist; come primo attributo ho messo “post_type=post”, in modo che WordPress consideri solo gli articoli ed escluda le pagine.

Subito dopo ho specificato la categoria, utilizzando l’id; potevo usare anche il nome, ma ho preferito questo criterio. Per recuperare l’id accedo alla pagina delle categorie di WordPress e mi prendo l’indirizzo del link di quella interessata: noterò che la url contiene delle variabili passate in get, tra cui una ce ne è una, tag_ID, che passa l’id della categoria. Con tale valore imposto, nello shortcode, l’attributo id.
Ecco una url di esempio, con evidenziata la stringa che mi occorre:
http://www.miosito.it/wp-admin/term.php?taxonomy=category&tag_ID=26&post_type=post&wp_http_referer=%2Fwordpress%2Fwp-admin%2Fedit-tags.php%3Ftaxonomy%3Dcategory

Con numberposts limito a 5 il numero dei link e con excludeposts=this escludo il post corrente. Di default WordPress prende gli articoli più recenti, ma posso impostare manualmente, volendo, questo criterio con orderby=date order=desc.

Ripeto questo procedimento per i secondi piatti e i dessert cambiando il titolo del widget e il numero dell’id della categoria.

Widget con selezione post riferiti ai secondi piatti
Widget con selezione post riferiti ai dessert

Abbiamo così completato le impostazioni dei widget ed ora vediamo cosa ne esce.

Home page del sito di ricette

Siamo nella home page e notiamo, sulla destra, le ultime ricette, suddivise tra primi, secondi e dessert. Proviamo a cliccare sul link del Couscous con piselli e gamberi.

Pagina con la ricetta del couscous con piselli e gamberi (finta)

Se osserviamo di nuovo il menù dei primi ci accorgiamo che non è più indicizzato il post del couscous, attualmente aperto, in compenso come ultima voce è presente la ricetta degli arancini di spaghetti, che nella home non era accessibile dalla sidebar.

Tante impostazioni per tante necessità

Quelli qui spiegati sono solo una minima parte degli attributi dello shortcode catlist. Ce ne sono tanti altri utili per le necessità più varie.

Per saperne di più fare riferimento alla pagina Other notes del plugin.