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?
Un lettore del blog mi ha contattato per chiedermi di aiutarlo a impostare Wordpress.
In particolare, ha bisogno di ordinare i post in modo casuale nell’archivio di categoria.
Dopo aver spulciato le librerie di Wordpress e aver eseguito un po’ di prove ho sfornato questa funzione che sembra funzionare a dovere.
La classe WP_Query
In Wordpress le query (interrogazioni) al database vengono gestite con la classe WP_Query che si trova in wp-includes/query.php.
Ecco le proprietà e i metodi della classe WP_Query che utilizziamo:
- con il metodo
set($query_var, $value) impostiamo le caratteristiche della query
- il metodo
get($query_var) restituisce il valore di una variabile
- per eseguire la query utilizziamo la funzione
get_posts()
Tuttavia, questi tre metodi non bastano a modificare l’elenco dei post che verranno visualizzati.
Questo elenco è memorizzato all’interno della proprietà posts (di tipo array) che verrà sovrascritta con l’array restituito dal metodo get_posts(), nell’ultima riga.
Per saperne di più sulla classe WP_Query vai su http://codex.wordpress.org/Function_Reference/WP_Query.