WordPress Little Trick – Rimuovere un Post dal Feed RSS nella Maniera Migliore

Ci sono moltissimi motivi per i quali vorresti poter estrarre uno o più post dal flusso del tuo feed RSS.
In WordPress, anche grazie alla notevole disponibilità di plugin, non è d’altronde così difficile trovare qualcosa di adatto allo scopo.
Tuttavia, spesso soluzioni di questo tipo sono semplicemente esagerate rispetto alle reali necessità. Se tutto ciò di cui hai bisogno è poter pubblicare un post senza che questo vada a comparire nel normale flusso RSS, forse installare pesanti plugin (che tra tutte le altre opzioni fanno forse anche ciò di cui hai bisogno) non è sempre la scelta migliore.
Senza contare che la mantenibilità di un buon layout si vede anche nei piccoli dettagli. Inscatolare le funzionalità del tema che possono non dipendere direttamente da decine di plugin esterni è sempre cosa buona.
E così, tra una colomba pasquale e un picnic, oggi ti voglio proporre un metodo veramente rapido per poter decidere di escludere una o più categorie di post dal tuo feed RSS.
Andremo a sfruttare le potenzialità del file functions.php.
Functions.php, se ricordi, non è un file indispensabile per la costruzione di un layout. Tuttavia la sua presenza diventa una vera manna dal cielo quando si vogliono spremere fino in fondo le potenzialità del nostro CMS preferito. Ne abbiamo già visto un utilizzo qualche tempo fa, parlando proprio di come assegnare un layout personalizzato ai commenti nidificati.
Creiamo dunque il nostro file functions.php nella cartella root del tema in uso.
Poi, semplicemente incolliamo al suo interno la seguente funzione, sostituendo a ID_CATEGORIA l’ID numerico assegnato da WordPress alla categoria del post che vogliamo escludere.
<?php
function myFilter($query) {
if ($query->is_feed) {
$query->set('cat','-ID_CATEGORIA');
}
return $query;
}
add_filter('pre_get_posts','myFilter');
?>
Voilà.
E’ tutto qui, davvero.
Ora, per pubblicare un post senza vederlo comparire nel tuo feed RSS non dovrai fare altro che assegnargli la categoria indicata nello snippet poco sopra.
Più facile di così
foto: Titanas
scritto da
Francesco Gavello
il 13 aprile 2009
| 9 commenti
in: WordPress
Continua a leggere
Share The Love!
Aiuta FrancescoGavello.it a crescere e ad avere sempre più articoli di qualità!







Ancora una volta un articolo che dimostra la tua competenza e capacità in materia! Bravo Francesco, ottimo consiglio! Ti ho mandato una mail… per adesso non ti vedo su skype, appena puoi rispondimi!!!
Un buon sistema, molto semplice e funzionale, utilizzare le funzioni personalizzate nei template WP aiuta a gestire l’output standard che oltre ad evitare l’ennesimo plugin è una soluzione molto più pulita ed elegante.
Grazie ragazzi
@Mauro: stupendo layout; spero di leggere molti tuoi articoli nei prossimi tempi
Prezioso post. Non so ancora perché, ma sento che prima o poi mi servirà. Perciò me lo conservo in dispensa! Grazie
[...] 1) WordPress Little Trick – Rimuovere un Post dal Feed RSS nella Maniera Migliore [...]
[...] ciliegina sulla torta, rimuovi la categoria “sideblog” anche dal feed RSS. [...]
scusami Francesco,
questa soluzione ha degli svantaggi rispetto a quella proposta da te?
direttamente in feedburner
http://example.com/feed?cat=-3&cat=-4&cat=-5
Nessuno svantaggio particolare; con l’utilizzo del file functions.php eviti di ricorrere a impostazioni su servizi di terze parti e controlli tutto “in casa”
Appendere le categorie da filtrare al fondo degli URL indicati a FeedBurner torna invece molto utile nel caso si propongano diversi feed filtrati per diverse categorie (una scelta imho controproducente, ma percorribile in determinati casi)
ok grazie
lo chiedevo perchè utilizzo un tema premium e il file functions è pieno zeppo di cose e se aggiungo quel codice, produce qualche errore, quin di cercavo altre possibili soluzioni.