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.
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) :
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.
Merci pour l’astuce, je trouvais plus où faire ceci !
Je n’ai pas du tout à accéder à accéder à cette page “modifier la catégorie” comment ça se fait?
Bonjour, tu peux être plus précise?
Quand je suis sur ma page d’accueil WordPress, je vais sur articles et la il y a le nom de l’ensemble de les articles qui s’affichent.
Je n’ai pas la possibilité de trouver “catégories” ensuite.
Je peux uniquement trouver les catégories quand je clique sur “modifier” sur un article. Ensuite je tombe sur le “back office” de l’article et à droite se trouve l’ensemble des catégories de mon site.
Je peux modifier les catégories de l’article sur lequel je me trouve, ajouter une catégorie pour mon blog mais je ne peux pas du tout les supprimer.
Comment puis-je faire?
Cordialement
Bonjour, tu as configuré un menu?
Bonjour Julien, quand tu dis menu, parles-tu du menu de mon blog ou du back office WordPress? Concernant le back office WordPress, je n’y ai pas touché. Il a toujours été comme ça.
Je parle de la partie menu dans l’admin que tu peux configurer
Coucou !
Merci pour cet article mais je suis confus. Dans le 1er screenshot, vous avez encadré en rouge l’id de la catégorie. C’est le chiffre 21.
Puis un peu plus loin, dans le code de la fonction, vous excluez les catégories 2, 6, 9. Au lieu de 21 ?
A moins que c’est juste un exemple qui n’a aucun rapport avec le 1er screenshot ?
Je vous remercie d’avance pour votre aide
Bonjour, oui désolé c’est juste pour l’exemple et montrer qu’on peut en exclure plusieurs, mais si ta catégorie est la 21 alors c’est ce chiffre qu’il faut mettre ensuite 😉
Bonjour
Je souhaite supprimer complétement la catégorie par défaut mais il n’y a pas moyen . J’ai bricolé ce qui suit en suivant les conseilles précédents mais il n’y a pas moyen . Je ne précise pas que je suis nul en PHP.. :
/**
* Exclude slider category from sidebar widgets
*/
function vogue_exclude_slider_categories_widget( $args ) {
$exclude = ‘-315’; // ID’s of the categories to exclude
if ( get_theme_mod( ‘vogue-slider-cats’, false ) ) {
$exclude = esc_attr( get_theme_mod( ‘vogue-slider-cats’ ) );
}
$args[‘exclude’] = $exclude;
return $args;
}
add_filter( ‘widget_categories_args’, ‘vogue_exclude_slider_categories_widget’ );
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’, ‘-315’);
}
return $query;
}
add_filter(‘pre_get_posts’, ‘wpm_exclude_cat’);
Bonjour, pourquoi tu ne la supprimes pas depuis l’administration de WordPress?
Merci pour ton aide,
Je l’ai fait en recréant une autre catégorie par défaut mais il y toujours 82 articles qui se ré affiche. En fait je veux supprimer la catégorie par défaut pour limiter les liens au maximum. Si c’est possible?
Justement tu peux la supprimer simplement dans l’administration c’est pour ça.
Super. C’est la ‘question’ que je cherchais. Mais pour les béotiens du code, existe-t-il un plugin qui fait le travail ? Par avance merci.
Bonsoir, pardon pour le déterrage 😉
Le plugin “Exclude Category from Blog” par ” Magic Hills Pty Ltd ” fait le job 😉 https://wordpress.org/plugins/wonderplugin-exclude-category/
Bonjour,
Merci pour cette astuce qui correspond à ma recherche (merci Google).
Concernant le plugin « Exclude Category from Blog » par » Magic Hills Pty Ltd », il me semble un peu ancien.
Sinon, je pense que la solution d’anti-dater un ou des articles fonctionne aussi.
Bonjour,
Ce n’est pas ce que je cherchais. En fait, j’aimerais supprimer le nom de la catégorie dans la recherche Google. Je m’explique, j’ai 2 sites a priori identique et l’un va avoir le ligne du haut (je ne sais pas comment ça s’appelle) qui s’affiche ainsi : Nom de site.com > URL de l’article. C’est ce que je veux. L’autre site s’affiche ainsi : Nom du site.com > Catégorie.
J’aimerais donc avoir l’affichage du premier, ça fait des mois que j’ai ce problème et n’arrive pas à le régler.
Bonjour, les extensions SEO et fils d’ariane sont paramétrés de la même façon ?
Bonjour,
Je souhaite supprimer la catégorie “uncategorized” de mon thème ASTRA, car elle génère une page ” Hello World” inexistante. J’ai donc intégré le bout de code tout en bas du fichier config.php en modifiant l’ID, et mis à jour, mais la page apparaît toujours dans les résultats de recherche.
Ai-je bien appliqué la procédure?
Merci d’avance.
Bonjour, si tu parles de Google c’est normal. Il faut un peu de temps pour la désindexer. As-tu fait une redirection de ta page supprimée vers une autre page ?
Oui, il s’agit bien de Google.
Par contre, pour faire la redirection, je ne retrouve pas la page supprimée dans la corbeille, ni dans la corbeille des articles d’ailleurs…
Regarde depuis ta Google Search Console, tu la trouveras dans les erreurs 404.
Bonjour,
ca marche mais me cause une erreur de type E_PARSE dans la ligne 1 du fichier
: eval()’d code. Message d’erreur : syntax error, unexpected ‘$’,
expecting variable (T_VARIABLE)
Bonjour, tu as bien copier/coller le code ?
Bonjour, merci pour ce snippet qui m’a été très utile ! Les articles liées aux catégories que j’ai exclues ont bien disparues de mon blog. En revanche, les catégories sont toujours visibles dans mon bandeau latéral droit, dans le widget qui recense les différentes catégories.
Une idée ?
Bonjour, oui car ce n’est pour le coup pas la même fonctionnalité.
Bonjour,
Comment faire pour supprimer une ou des catégorie(s) dans un widget ?
Cdlt
Bonjour, ça dépend si le widget te permet de filtrer le contenu.
Simple et efficace !