Lorsque vous utilisez un blog sur un site WordPress (que ce soit sur la page d’accueil, ou une autre page), tous les articles sont affichés sans exception par date de publication, toutes catégories confondues.

Dans certains cas, vous pourrez avoir besoin de retirer certaines catégories d’articles de votre page blog. Pour y arriver, nous allons devoir modifier “la boucle WordPress”.

Avant de vous partager un snippet pour y arriver, vous allez devoir récupérer les ID de ou des catégories à exclure.

Pour les trouver, aller dans Articles > Catégories dans l’administration de WordPress, et cliquez sur la catégorie à exclure.

Regardez l’URL en haut de la page, repérez l’attribut category&tag_ID= et vous aurez l’ID de votre catégorie.

wpmarmite categorie
Ici la catégorie Voyage a l’ID 21

Copiez-collez ensuite le snippet suivant dans le fichier functions.php de votre thème enfant en modifiant les numéros par l’ID des catégories que vous voulez exclure (n’oubliez pas de placer un signe moins “-” devant pour que ça fonctionne) :

function wpm_exclude_cat($query) {
//On verifie qu'on se trouve bien sur la page blog
if ( $query->is_home ) {
// On retire les catégories 2, 6 et 9 en mettant un '-' devant
$query->set('cat', '-2,-6,-9');
}
return $query;
}
add_filter('pre_get_posts', 'wpm_exclude_cat');

Comme le montre l’exemple, il est nécessaire de séparer les différentes catégories par des virgules.

Rafraîchissez ensuite votre page blog, et vous verrez que toutes les catégories que vous avez exclues ne sont plus affichées.