Le moteur de blog WordPress offre au blogueur des possibilités de personnalisation extensibles à l’infini. Comme tout bon programme informatique, il y a toujours quelque chose qui existe déjà et qui évite d’avoir à le développer.
Pour les besoins de l’un de mes blogs, j’ai souhaité exclure une catégorie du flux RSS principal du site. Avant de mettre les mains dans le camboui des fichiers wp, j’ai effectué une recherche pour savoir s’il n’y avait pas un plugin ou une fonctionnalité déjà existante.
J’ai trouvé deux méthodes pour arriver à mes fins, une simple et une moins simple.
Je commence par la moins simple (mais pas forcément difficile), il s’agit en fait de modifier le fichier functions.php de votre thème wordpress pour exclure une (ou plusieurs) catégories de votre flux RSS principal. Si vous n’avez pas de fichiers functions.php, alors il est nécessaire de le créer. Ensuite il suffit d’ajouter le code suivant :
function my_cat_exclude($query) { if ($query->is_feed) { $query->set('cat','-12,-13,-14'); } return $query; } add_filter('pre_get_posts','my_cat_exclude');
La deuxième méthode consiste à modifier l’adresse URL de votre flux RSS. Aucune modification de code n’est nécessaire, il suffit juste d’accéder au flux RSS de cette façon :
http://www.votresite.com/feed?cat=-12
http://www.votresite.com/feed?cat=-12,-13,-14
-12 représente l’ID de la catégorie que vous souhaitez exclure. Pour connaître ce numéro d’ID, il suffit de vous rendre dans votre console d’administration, rubrique Articles, Catégories. Il est nécessaire ensuite d’éditer une catégorie et de récupérer l’ID de celle ci dans l’adresse en cours (cat_ID=12).
Le signe moins en face de l’ID permet d’exclure une catégorie. Sans ce signe, le flux RSS affiché concernerait la catégorie saisie. Cette fonctionnalité permet donc d’afficher également les flux d’une ou plusieurs catégories :
http://www.votresite.com/feed?cat=12,13,14
Si en plus vous utilisez Feedburner, alors ce procédé peut être totalement transparent. Il suffit de configurer l’adresse de votre flux avec les catégories à exclure, et le tour est joué.
J’ai mis en place la deuxième méthode ici. Le flux RSS qui s’affiche est celui du site memosport.fr sans la catégorie Kiosque, qui possède un flux RSS ici. Tous les articles de la catégorie Kiosque n’apparaissent donc pas dans le flux principal, mais dans un flux à part
Cela est bien pratique pour disposer de plusieurs sous pages indépendantes dans un site web.
5 Commentaires
Intéressant çà 😉
sympa cette information
mais existe t-il la même chose en sens inverse du style le feed = une seule catégorie
@Xavier Essonne : Oui, cela existe. Je l’ai écrit dans l’article, juste avant mon exemple sur memosport. 😉
merci, pour la précision,
je me mets un -1 tout seul
Surtout ne pas oublier de tronquer les articles du flux rss.
Poster un commentaire