Cet article se trouve dans : WordPress
Hack WordPress : Exclure des articles de votre flux RSS
WordPress alimente automatiquement des flux RDF, RSS, RSS2 et ATOM avec tous vos nouveaux articles. Ces flux sont très utiles pour vos visiteurs, ils permettent de suivre l’actualité de votre site sans avoir à revenir tous les jours pour voir s’il y a une nouveauté.
Mais ces flux peuvent s’avérer contre-productifs s’ils sont trop remplis. Si je me connecte, une fois par jour, à mon lecteur RSS, j’aurais plus facile à lire vos nouveautés s’il y en a 4 ou 5 que s’il y en a 20 ou 30. Ce qui peut vite arriver lorsque l’on partage des articles intéressants en plus de ses articles.
On va voir ici, comment WordPress, vous permet, facilement, de faire le tri dans les articles qui seront ou non affichés dans les flux de votre site. Effectivement, grâce, à la fonction query_posts et à ses paramètres post__not_in, category__not_in et tag__not_in, nous allons pouvoir exclure certains articles, catégories ou mots-clés de notre flux RSS.
Pour cela, une petite fonction, de quelques lignes, ajoutée à votre fichier functions.php suffit.
-
function filtre_flux($query) {
-
if ( $query->is_feed ) {
-
}
-
return $query;
-
}
-
add_filter( ‘pre_get_posts’, ‘filtre_flux’ );
Comment marche cette fonction ?
- $query->is_feed n’applique le filtre que si vous êtes dans votre flux, afin que tous les articles s’affichent sur votre site. Pour information, vous pouvez le remplacer par is_home, par exemple, pour exclure les articles de votre page d’accueil.
- $query->set récupère les articles en fonction des paramètres suivants :
- post__not_in exclu les articles ayant une ID comprise dans le tableau.
- category__not_in exclu les articles des catégories ayant une ID comprise dans le tableau.
- tag__not_in exclu les articles ayant un mot-clé qui a une ID comprise dans le tableau.
- add_filter applique la fonction lors en pre_get_posts, c’est-à-dire, avant que WordPress fasse sa requête de recherche des derniers articles.
Le principal inconvénient de cette fonction est l’obligation d’aller ajouter les ID des articles chaque fois que l’on veut en exclure un. Pour résoudre cela, on peut par exemple créer une catégorie « exclusion du flux » et y mettre les articles que l’on ne veut pas afficher dans son flux.
N’hésitez pas à tester ce petit hack et à partager vos retours avec nous en commentaire de cet article.

