Votre page d’accueil WordPress doit mettre en valeur vos meilleurs contenus. Mais que se passe-t-il si vous avez des catégories qui n’ont rien à y faire ? Dans ce cas, vous pouvez vouloir exclure une catégorie spécifique de la page d’accueil de votre site.
Par défaut, WordPress affiche les publications de toutes les catégories sur votre page d’accueil. Cela peut prospecter une expérience encombrée, surtout si vous avez des catégories destinées à un usage interne ou à des publics spécifiques.
Dans cet article, nous vous montrerons comment exclure facilement une catégorie de votre page d’accueil WordPress en utilisant deux des meilleures méthodes que nous avons trouvées.
Pourquoi exclure une catégorie de la page d’accueil de WordPress ?
WordPress vous permet de trier le contenu en catégories et en étiquettes. Il peut arriver que vous souhaitiez utiliser une catégorie pour des articles qui ne font pas partie des entrées normales de votre blog.
Par défaut, WordPress ne vous permet pas de masquer les articles de catégories spécifiques sur la page d’accueil ou dans les archives. Vous vous retrouvez donc avec des articles indésirables qui apparaissent sur votre page d’accueil.
Ceci étant dit, voyons comment vous pouvez facilement exclure une catégorie spécifique de votre page d’accueil WordPress. Nous allons vous présenter deux méthodes différentes, et vous pourrez choisir celle qui correspond le mieux à vos besoins.
Méthode 1 : Exclure une catégorie de WordPress à l’aide d’une extension
La première chose à faire est d’installer et d’activer l’extension Ultimate Category Excluder. Pour plus de détails, nous vous conseillons de suivre notre guide sur l’installation d’une extension WordPress.
Une fois activé, vous devrez vous rendre sur la page Réglages » Category Excluder. Elle affichera toutes les catégories disponibles sur votre blog WordPress.
À partir de là, vous pouvez simplement cocher une ou plusieurs catégories dans la colonne « Exclure de la page d’accueil ». Si vous le souhaitez, vous pouvez également exclure la catégorie des flux RSS, des archives ou même de la recherche WordPress.
N’oubliez pas de cliquer sur le bouton « Mettre à jour » pour enregistrer ces paramètres.
Vous pouvez maintenant visiter votre site et constater que les publications des catégories sélectionnées sont exclues de la page d’accueil.
Méthode 2 : Exclure une catégorie de la page d’accueil de WordPress à l’aide d’un code
Cette méthode nécessite d’ajouter du code à vos fichiers WordPress. Si vous n’avez jamais fait cela auparavant, consultez notre guide sur la façon de copier et coller des extraits de code dans WordPress.
Vous devrez ajouter le code suivant au fichier functions.php de votre thème, à un plugin spécifique au site ou à un plugin d’extraits de code.
function exclude_category_home( $query ) {
if ( $query->is_home ) {
$query->set( 'cat', '-5' );
}
return $query;
}
add_filter( 'pre_get_posts', 'exclude_category_home' );
N’oubliez pas de remplacer ID (-5) par l’ID de votre catégorie. Cela masquera toutes les publications de blog de la page d’accueil appartenant à la catégorie qui correspond à cet ID.
Note : Veillez à ajouter le signe moins (-) à l’ID de la catégorie.
Confirmez-vous que vous ne savez pas comment trouver l’ID de la catégorie ? Consultez notre guide sur la façon de trouver les ID de catégorie dans WordPress.
Le moyen le plus sûr et le plus simple d’ajouter ce code dans WordPress est d’utiliser l’extension WPCode. Il vous permet d’ajouter du code personnalisé sans modifier directement vos fichiers WordPress. Vous n’avez donc pas à craindre de casser votre site.
Pour Premiers, vous devez installer et activer l’extension gratuite WPCode. Si vous avez besoin d’aide, consultez ce guide sur l ‘installation d’une extension WordPress.
Une fois WPCode activé, allez dans Code Snippets » + Add Snippet dans votre tableau de bord WordPress.
Survolez ensuite l’option « Ajouter votre code personnalisé (nouvel extrait) » et cliquez sur le bouton « Utiliser l’extrait » situé en dessous.
À partir de là, vous devez sélectionner « PHP extrait de code » comme type de code dans la liste des options qui s’affichent à l’écran.
Sur la page « Créer un extrait personnalisé », vous pouvez commencer par ajouter un titre à votre extrait. Il peut s’agir de n’importe quoi pour vous aider à vous souvenir de l’objet du code.
Ensuite, il suffit de coller le code ci-dessus dans la case « Aperçu du code ».
Ensuite, il vous suffit de permuter le commutateur de « Inactif » à « Actif » et d’appuyer sur le bouton « Enregistrer l’extrait » en haut de la page.
Si vous souhaitez exclure plusieurs catégories, vous pouvez modifier le code comme suit :
function exclude_category_home( $query ) {
if ( $query->is_home ) {
$query->set( 'cat', '-5, -9, -23' );
}
return $query;
}
add_filter( 'pre_get_posts', 'exclude_category_home' );
Il suffit de remplacer les ID (-5, -9, -23) par les ID de vos catégories pour les exclure de votre page d’accueil WordPress.
Nous espérons que cet article vous a aidé à apprendre comment exclure une catégorie de votre page d’accueil WordPress. Vous voudrez peut-être aussi voir ces hacks et plugins de catégorie les plus recherchés pour WordPress qui vous aideront à utiliser les catégories plus efficacement, ou nos choix d’experts des meilleurs plugins de formulaire de contact pour WordPress.
Si vous avez aimé cet article, veuillez alors vous abonner à notre chaîne YouTube pour obtenir des tutoriels vidéo sur WordPress. Vous pouvez également nous trouver sur Twitter et Facebook.
Joseph
Will using the Ultimate Category Excluder plugin block Googlebot from crawling posts in that particular category? I don’t want my site users to access a particular category.
WPBeginner Support
As long as the pages can be found in some way by Google from something like a sitemap or other page on your site then there the crawler would be fine.
Administrateur
Johan
As always: a huge THANKS for all your great tutorials!
Excluding a category the functions.php-way works great for me. BUT: I find that the same category is also excluded from a custom WP_Query that I put on a profile page. Why is that?
My query:
$the_query = new WP_Query( array( ‘meta_key’ => ‘fetcher’, ‘meta_value’ => $user_ID ) );
WPBeginner Support
Glad it was helpful, the code should only affect the home page, one possibility you could check would be to see if your caching could be the culprit.
Administrateur
Johan Hagvil
I found the solution!
Changing the second line of my snippet to:
if ( $query->is_main_query() && $query->is_front_page() ) {
WPBeginner Support
Thank you for sharing for anyone else who may be running into the same error!
metin
Let’s assume the id of the blog category is 1. Can I add php code about showing all ids greater than -2 so that it doesn’t show all categories greater than 1. Can there be a method that will work with php code that will work dynamically instead of adding an id every time?
WPBeginner Support
For what you’re wanting to achieve, it would be better to select the categories you want to show instead of trying to exclude all other categories. You can see how to do this in our article below!
https://www.wpbeginner.com/wp-tutorials/how-to-display-recent-posts-from-a-specific-category-in-wordpress/
Administrateur
Isaac
thanks genius this works perfectly
WPBeginner Support
Glad our guide was helpful
Administrateur
Abdullah Al Muaz
thanks dude. it works.
Abdullah Al Muaz
i use a specific page to display recent posts. so i think for my case it should not be /code $query->is_home /code
what should i put instead of « home »
i want to hide specific category from « blog »
WPBeginner Support
The code should work the same for your blog page if you set a page for your recent posts.
Administrateur
MENHADI HASAN
Hi,
How to exclude whole category and custom from the search form or can I modified search form to just search by a specific taxonomy rest all are excluded from the search
WPBeginner Support
For hiding content from your search, you would want to take a look at our page here: https://www.wpbeginner.com/plugins/how-to-exclude-specific-pages-authors-and-more-from-wordpress-search/
Administrateur
Sidchan Mall
Thanks for the tip, I began using the plugin to exclude theme-specific content posts (testimonials, sliders) on my website!
WPBeginner Support
You’re welcome, glad our guide could help
Administrateur
Paolo
I followed the Method 2 instructions, but after the change the media library doesn’t work anymore!
WPBeginner Support
The code should not affect your media library unless there is a larger error that is affecting your site. It would depend on the error message for the reason.
Administrateur
Christopher
Thanks for this article.
I want to ask if it’s also possible to exclude Google Adsense ads from some specific categories