I cosiddetti “featured posts” sono un insieme di post che vengono scelti per esser messi in risalto. In questo blog, i “post in evidenza” sono quelli che considero essere i migliori. Mettendoli in risalto ho la possibilità di mostrare il meglio dei miei articoli al nuovo visitatore. Potrebbero esserci altri motivi, ad esempio di tipo commerciale (se i post in evidenza pubblicizzano qualcosa).
Nonostante ci siano un po’ di ottimi plugin per la gestione e la stampa dei “featured posts” ho sviluppato questo mio plugin che, credo, sia diverso dai plugin in circolazione e per certi versi offra una gestione più user friendly. Probabilmente questo sarà un giudizio soggettivo… In pratica, ci sono alcuni plugin che permettono di inserire gli id dei post, separati da virgole, in una casella di testo. Il mio plugin legge i “custom fields” (in italiano “campo personalizzati”) dei post che si decide di mettere in evidenza. In questo senso credo che impostare un campo personalizzato sia un po’ più user friendly rispetto all’aver a che fare con insiemi di numeri. Secondo te?
Per gli impazienti
Per iniziare a utilizzare il plugin:
- effettua il download: http://download.jblog.it/wp-plugins/jblog_featured_posts.zip
- copialo nella directory “plugins” e attivalo
- inserisci la funzione jblog_print_featured_posts() nel punto del template in cui vuoi stampare la lista dei post in evidenza
Per far comparire un determinato post fra i post in evidenza è necessario entrare nella pagina di editing dell’articolo e inserire un campo personalizzato di nome “featured” con il valore “ok” o uno qualsiasi. Il valore non incide sul funzionamento del plugin. Tuttavia consiglio di inserire il valore “ok” in modo da beneficiare di futuri aggiornamenti in cui eventualmente verrà utilizzato.
In profondità
Il plugin è composto da due funzioni:
- jblog_getFeaturedPosts seleziona i post e li restituisce in un array, ordinati dal più recente al più vecchio
- jblog_printFeaturedPosts seleziona i post e li stampa sottoforma di lista <ul>…<li>
jblog_getFeaturedPosts
Questa funzione è il cuore del plugin. Seleziona i post e li restituisce in un array. In questo modo potrai essere libero di gestire e stampare i dati restituiti come più ti piace.
La funzione ha 2 argomenti:
- $args [default "limit=10&len=0"] è una stringa in cui vengono passate le opzioni (nella forma [opzione]=[valore]) separate da “&”. Le uniche due opzioni sono limit (-1 per stampare tutti i post in evidenza, un numero maggiore di 0 per stampare un numero limitato di post) e len per la lunghezza del contenuto (per non selezionare il contenuto basta impostarlo con zero o non impostarla affatto)
- $metakey [default "featured"] è una stringa utilizzata per impostare il nome del campo personalizzato utilizzato per indicare che il post deve esser messo in evidenza
Esempio
$myarray = jblog_getFeaturedPosts("limit=-1&len=150","myfeatured");
- $myarray è l’array in cui verranno restituiti i post
- limit=-1 fa in modo che si selezionino tutti i post che hanno il campo “myfeatured”
- len=150 imposta il numero di caratteri del contenuto da restituire
- “myfeatured” è il campo personalizzato utilizzato per indicare che il post deve esser messo in evidenza
L’array restituito dalla funzione è composto dai post selezionati, ordinati dal più recente al più vecchio. Ogni elemento dell’array è a sua volta un array associativo contenente le informazioni del singolo post divise in corrispondenza degli indici “id”, “title”, “link” e “content”.
Esempio
Un semplice esempio per la stampa delle informazioni di ogni singolo post selezionato.
// Seleziona i post
$posts_array = jblog_getFeaturedPosts("limit=20&len=300","myfeatured");
// Ciclo: stampa le informazioni di ogni singolo post
foreach($posts_array as $post)
{
echo "ID: ".$post['id'];
echo "Titolo: ".$post['title'];
echo "Link: ".$post['link'];
echo "Contenuto: ".$post['content'];
}
jblog_printFeaturedPosts
Oltre a selezionare i post in evidenza, li stampa in una lista del tipo <ul>…<li>.
Gli argomenti sono gli stessi della funzione jblog_getFeaturedPosts (vedi sopra).
Esempio
Questa funzione va utilizzata direttamente all’interno del template inserendo la riga seguente nel punto in cui si desidera visualizzare la lista.
<? jblog_printFeaturedPosts("limit=-1&len=100") ?>
Come impostare un post “in evidenza”
Questo se vogliamo è il lato del plugin un po’ più “macchinoso”.
Per fare in modo che un post venga stampato nella lista dei post in evidenza è necessario andare nella pagina di editing dell’articolo e creare un “custom field” (o campo personalizzato) di nome “featured” oppure uguale all’argomento $metakey passato alle funzioni.
Come valore scrivere una cosa qualsiasi. Tuttavia consiglio di inserire il valore “ok” in modo da beneficiare di futuri aggiornamenti in cui eventualmente verrà utilizzato. Il valore non incide sul funzionamento del plugin, ma è necessario dato che wordpress non permette la creazione di un campo personalizzato senza un valore.
HTML e utilizzo dei CSS
Se utilizzi la funzione jblog_printFeaturedPosts ecco le informazioni che ti servono per poter formattare adeguatamente la lista dei post.
- Per formattare il contenitore principale della lista (<ul>) fare riferimento all’id “featured_posts”
- Ad ogni contenitore del singolo post (<li>) viene attribuito l’id “featured_post_” al quale viene aggiunto in coda l’id del post
- Il titolo di ogni post viene inserito all’interno di un tag <a>, il cui attributo href sarà impostato con il link del post
- Il contenuto dei post viene inserito in un tag <p>
Vuoi personalizzare il codice html? Apri il file del plugin, individua la funzione jblog_printFeaturedPosts e buon lavoro!
Esempio dell’output
<ul id="featured_posts">
<li>
<a href="http://...html" id="featured_post_270">Titolo 1 - post 270</a>
<p>Howwww! Nab him, jab him, tab him, grab him, stop that pigeon now.</p>
</li>
<li>
<a href="http://...html" id="featured_post_320">Titolo 2 - post 320</a>
<p>Grab him, stop that pigeon now.</p>
</li>
<li>
<a href="http://...html" id="featured_post_450">Titolo 1 - post 450</a>
<p>Tab him, grab him, stop that pigeon now.</p>
</li>
</ul>
Script e Download
Per vedere il codice del plugin fai su http://test.jblog.it/wp-plugins/jblog_featured_posts.txt
Per scaricare il plugin vai su http://download.jblog.it/wp-plugins/jblog_featured_posts.zip
Per eventuali segnalazioni e malfunzionamenti scrivi dei commenti a questo post o contattami sull’email che trovi nella pagina “contatti”.
Questo plugin non fa per te? In questa pagina (su wordpress.org) trovi tantissimi plugin riguardanti i “post in evidenza”. Sicuramente ne troverai uno adatto alle tue esigenze!
Foto: still managed to draw a straight line di deadmanjones


