Magazine High tech

RSS : Exclure des catégories

Publié le 29 juin 2010 par 4h18

Vous le savez sans doute, WordPress propose, en natif, l’export de l’ensemble du contenu de votre site sous forme de flux RSS. Pratique pour les internautes qui grâce à différents lecteurs ou agrégateurs peuvent ainsi parcourir le net sans devoir visiter tout les sites.

Cependant, nous avons souvent une ou deux catégories que l’on aimerait bien ne pas diffuser via ce flux RSS, ceci pour diverses raisons. Alors, comment pouvons-nous donc faire pour résoudre ce problème.

Comme toujours, WordPress et sa flexibilité nous offre plus plusieurs solutions.

Le Plugin

Vous pouvez donc télécharger et activer Advanced Category Excluder et cliquez sur les catégories que vous souhaitez exclure. Petit plus, ce plugin parle le français.

Le Code

La seconde solution, sans doute moins gourmande en ressources, c’est de mettre les mains dans le code, et plus précisément, dans le functions.php de votre thème.

Vous pouvez donc copier et coller ce morceau de code à la fin de votre fichier functions.php

function rss_cat_exclude($query) {
if ($query->is_feed) {
 $query->set('cat','-16,-32,-37');
 }
 return $query;
 }
 add_filter('pre_get_posts','rss_cat_exclude');

Regardons ce code d’un peu plus près

Ici, nous créons notre fonction avec le nom « rss_cat_exclude » histoire que l’on sache tout de suite à quoi sert notre fonction :

 function rss_cat_exclude($query) {

Ensuite, nous ne souhaitons agir que sur notre flux RSS, nous vérifions donc bien que nous allons travailler dessus :

 if ($query->is_feed) {

Maintenant, nous devons exclure nos catégories, le bout de code suivant sert à cela :

$query->set('cat','-16,-32,-37');

Notez que les nombre -16, -32, -37,  ne sont donnés qu’à titre d’exemple et sont donc à remplacer par les ID de vos propres catégories.

Enfin, nous allons exécuter notre requête, puis modifier l’action initiale de la création du flux RSS de WordPress en la filtrant :

 return $query; // On retourne la requête au moteur
 }
 add_filter('pre_get_posts','rss_cat_exclude'); // on filtre (modifie) l'action de création du flux de WordPress sur notre site

Il ne vous reste plus qu’a enregistrer votre fichier et à l’envoyer sur votre serveur.


Retour à La Une de Logo Paperblog

A propos de l’auteur


4h18 2683 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte

Dossier Paperblog