Tout savoir sur WordPress
Tutoriel WordPress

Exclure des catégories du flux RSS de WordPress

Par défaut, le flux RSS d’un site WordPress contient les articles de toutes les catégories. Découvrez l’astuce qui permet d’exclure des catégories de votre flux RSS.

WordPress construit automatiquement le flux RSS de votre site Internet et il est accessible à partir de l’adresse suivante : http://www.monsite.com/feed/.

Par défaut, ce flux RSS affiche les articles de toutes les catégories. Mais vous possédez peut-être des catégories que vous souhaiteriez supprimer de ce flux RSS.

Copier le code-ci dessous dans le fichier functions.php présent à la racine de votre thème :

[pastacode lang=”php” message=”” highlight=”” provider=”manual”]


add_filter('pre_get_posts','gkp_exclude_cats_to_feed');
function gkp_exclude_cats_to_feed($query) {

    if ($query->is_feed) {
        $query->set('cat','-10,-12');
    }

    return $query;
}

[/pastacode]

Dans cet exemple, on exclut les catégories avec les ID 10 et 12 du flux RSS de WordPress.

Cet article a été mis à jour il y a 4431 jours - Il n'est peut être plus à jour !

Article écrit par Jonathan B.

Jonathan est le co-fondateur de WP Media, startup connue pour être l’auteur de WP Rocket et Imagify. Il est aussi co-organisateur du WordCamp Lyon et Paris.

3 Commentaires

  1. Hello
    Et si un autre plugin a déjà ajouté sa propre cat à exclure, le script ici semble écraser la donnée sans vérifier son contenu préalable.
    ->set() écrase, voici le code de WP :
    function set($query_var, $value) {
    $this->query_vars[$query_var] = $value;
    }

    Je te propose donc de faire un ->get avant !

    function exclude_cats_to_feed( $query )
    {
    	if( $query->is_feed ) {
    		$cat = $query->get( 'cat' ) != '' ? $query->get( 'cat' ) . ',' : '';
    		$query->set( 'cat', $cat . '-10,-12' );
    	}
    	return $query;
    }
    add_filter( 'pre_get_posts', 'exclude_cats_to_feed' );
    

    A bientot !