Voulez-vous afficher ou masquer une catégorie selon qu’elle a ou non des publications dans WordPress ?
Par défaut, WordPress n’affiche pas les catégories vides. Cependant, il peut arriver que vous souhaitiez les afficher même lorsqu’elles n’ont pas de contenu.
Dans cet article, nous allons vous afficher quelques méthodes simples pour masquer ou afficher une catégorie dans WordPress, selon qu’elle comporte ou non des publications.
Pourquoi masquer ou afficher les catégories vides dans WordPress ?
WordPress propose deux taxonomies par défaut : les catégories et les identifiants. Alors que les identifiés sont utilisés pour des sujets spécifiques d’un article, les catégories sont utilisées dans un sens beaucoup plus large.
De nombreux propriétaires de sites utilisent des catégories pour créer différentes sections pour leurs sites WordPress.
Par exemple, chez WPBeginner, nous avons différentes catégories qui couvrent les principales sections de notre contenu global.
Par défaut, WordPress n’affiche pas les catégories vides dans les widgets et les listes de catégories.
Cependant, certains propriétaires de sites peuvent encore avoir besoin d’afficher des catégories vides sur leurs blogs WordPress.
Par exemple, s’ils travaillent sur la conception d’un thème personnalisé ou s’ils veulent simplement que leurs utilisateurs/utilisatrices voient les catégories vides et les remplissent avec du contenu généré par les utilisateurs.
De même, certains sites peuvent vouloir masquer certaines catégories qui n’ont pas de publications tout en affichant d’autres catégories vides.
Dans ce guide, nous allons vous afficher comment masquer ou afficher facilement des catégories vides sur WordPress.
Comment afficher les catégories vides dans WordPress
WordPress utilise désormais des blocs de widgets pour remplacer les anciens widgets classiques. Cela rend un peu plus difficile la modification des paramètres utilisés par le bloc catégories pour lister les catégories.
Pour obtenir le résultat souhaité, nous devrons écrire notre propre code pour lister les catégories, puis l’afficher à l’aide d’un code court.
Pour ce tutoriel, vous aurez besoin d’ajouter du code à votre site WordPress. Si vous n’avez jamais fait cela auparavant, alors consultez notre guide sur la façon d’ajouter des extraits de code personnalisés dans WordPress.
Tout d’abord, vous devez ajouter le code suivant au fichier functions.php de votre thème WordPress ou ajouter l’extrait de code à l’aide de WPCode (recommandé).
Pour des instructions détaillées, consultez notre guide sur la façon d’ajouter facilement du code personnalisé dans WordPress.
function wpb_list_categories() {
// define category list parameneters
$args = array (
'echo' => false,
'title_li' => '',
'hide_empty' => 0
);
// get categories list
$display_cats = wp_list_categories($args);
//display custom categories list
return $display_cats;
}
// create shortcode
add_shortcode('custom_categories_list','wpb_list_categories');
Ce code utilise simplement nos propres paramètres pour lister les catégories, et l’un de ces paramètres consiste à modifier le paramètre de catégorie hide_empty
.
Après cela, vous pouvez afficher vos catégories personnalisées en ajoutant le bloc de shortcodes à votre colonne latérale ou à une autre zone de widget, puis en ajoutant le shortcode [custom_categories_list]
à l’intérieur de celui-ci.
Une fois que vous avez terminé, n’oubliez pas de mettre à jour les Réglages de vos widgets.
Ensuite, vous pouvez visiter votre site pour voir les catégories en action.
Masquer des catégories spécifiques dans votre liste de catégories
De même, vous pouvez utiliser la même approche pour exclure les catégories que vous ne souhaitez pas voir figurer dans la liste des catégories.
Il suffit de modifier le code ci-dessus comme suit :
function wpb_list_categories() {
// define category list parameneters
$args = array (
'echo' => false,
'title_li' => '',
'exclude' => '12,16,21',
'hide_empty' => 0
);
// get categories list
$display_cats = wp_list_categories($args);
//display custom categories list
return $display_cats;
}
// create shortcode
add_shortcode('custom_categories_list','wpb_list_categories');
Dans ce code, nous avons masqué les catégories en ajoutant le paramètre exclude. À côté de celui-ci, vous devez fournir les ID des catégories que vous souhaitez masquer.
Astuce : nous avons affiché un guide qui vous montre comment trouver les ID des catégories dans WordPress.
Vous pouvez maintenant afficher vos catégories personnalisées en ajoutant le bloc de codes courts à votre zone de widget et en ajoutant le code court [custom_categories_list]
à l’intérieur.
Exclure les pages de catégories des moteurs de recherche
Si vous affichez des catégories vides sur votre site, vous pouvez les exclure des moteurs de recherche jusqu’à ce qu’elles contiennent du contenu.
Certains utilisateurs/utilisatrices peuvent également vouloir exclure certaines catégories des moteurs de recherche afin d’éviter le contenu dupliqué et d’autres problèmes de référencement.
Pour ce faire, vous devrez installer et activer l’extension All in One SEO pour WordPress. Pour plus de détails, consultez notre guide étape par étape sur l’installation d’une extension WordPress.
All in One SEO pour WordPress est la meilleure extension WordPress SEO du marché et vous permet de contrôler facilement l’apparition de votre site dans les résultats de recherche.
Une fois l’extension installée, vous verrez apparaître un assistant de configuration. Il est assez explicite, mais si vous avez besoin d’aide, alors suivez notre guide pour configurer All in One SEO.
Ensuite, vous devez vous rendre sur la page Articles » Catégories de votre tableau de bord WordPress et cliquer sur le lien » Modifier » en dessous de la catégorie que vous souhaitez exclure.
Sur la page Modifier la catégorie, vous devez défiler jusqu’à la section All in One SEO.
Passez ensuite à l’onglet « Avancé ».
À partir de là, vous devez désactiver l’option « Réglages par défaut » située à côté du paramètre Robots. Vous verrez maintenant des options permettant d’indiquer aux moteurs de recherche de ne pas suivre et indexer cette catégorie.
Une fois que vous avez terminé, n’oubliez pas de cliquer sur le bouton « Mettre à jour » pour enregistrer vos Réglages.
All in One SEO commencera alors à indiquer aux moteurs de recherche de ne pas indexer ou suivre cette page en particulier.
Note : Les publications WordPress classées dans cette catégorie peuvent toujours être indexées par les moteurs de recherche et apparaîtront dans les résultats de recherche.
Guides d’experts sur les catégories WordPress
Maintenant que vous savez comment afficher ou masquer les catégories vides, vous pouvez consulter d’autres tutoriels WordPress liés aux catégories :
- Glossaire : Catégorie
- Glossaire : Taxonomie
- Comment ajouter des catégories et des sous-catégories dans WordPress
- Catégories vs Identifications – Meilleures pratiques SEO pour trier votre contenu
- Comment ajouter des catégories et des identifiés pour les pages WordPress
- Comment ajouter des catégories à un Type de publication personnalisé dans WordPress
- Comment modifier, déplacer et supprimer correctement les catégories WordPress
- Comment styliser différemment des catégories individuelles dans WordPress
- Comment imposer une catégorie par publication dans WordPress
- Comment renommer la catégorie Uncategorized dans WordPress
Nous espérons que cet article vous a aidé à apprendre comment masquer ou afficher des catégories vides sur WordPress. Vous pouvez également consulter notre guide sur la façon d’afficher un contenu personnalisé à différents utilisateurs/utilisatrices sur WordPress et nos choix d’experts pour les meilleures extensions WordPress pour les sites professionnels.
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.
Syed Balkhi
Hey WPBeginner readers,
Did you know you can win exciting prizes by commenting on WPBeginner?
Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
You can get more details about the contest from here.
Start sharing your thoughts below to stand a chance to win!
MIke Dutton
I wonder if it possible to adapt this for Taxonomy terms. So only display something if a particular Taxonomy term has posts.
randy
OMG so helpful for running and if statement to see if there are posts in a category, regular post type or custom post type. Many thanks!
John Hartley
Easiest example I found anywhere…saved me some heartache, so thanks!
michelle
really useful, thanks. I have placed a link back to this on my own blog so that I can share it with others
Editorial Staff
Thanks Michelle
Administrateur
Luke Jones
Excuse me if I’m wrong but doesn’t it do this already in the most recent versions?
Editorial Staff
Read the first two lines of the post. We already mention that using the wp-list-cats, yes it does, but if you are doing some more customization and need it hard coded without calling a function, then this is the way you will go.
Administrateur
Enk.
It seems interesting but I seriously didn’t understand it. When we can name/rename a category from news to Blog. Whats the thing else than showing only if it has posts? *confused :s
Editorial Staff
This is only for very customized settings, but it is still good to know for those who does not. Yes you can rename a category, but how many times. If you have 7 custom page templates where you want to call one category 7 different names, then how would you go about it. For Sales / Splash pages, this will help.
Administrateur
Enk.
ah thanks, now I can say its pretty useful. Thanks a ton !