Tutoriels WordPress de confiance, quand vous en avez le plus besoin.
Guide du débutant pour WordPress
WPB Cup
25 millions+
Sites web utilisant nos plugins
16+
Années d'expérience WordPress
3000+
Tutoriels WordPress par des experts

Comment afficher uniquement la catégorie parente dans la boucle d'articles WordPress

Nous savons tous à quel point il est important d'organiser le contenu sur un site web. Chez WPBeginner, nous comprenons que l'utilisation de catégories et de sous-catégories aide les visiteurs à explorer votre site et améliore son classement dans les résultats de recherche. Une bonne structure de catégories aide également les visiteurs à trouver ce dont ils ont besoin.

La plupart des thèmes WordPress listeront automatiquement toutes les catégories associées à un article, même les sous-catégories. Cela peut rendre les choses très confuses pour vos visiteurs. Cependant, nous avons récemment eu un lecteur qui souhaitait afficher uniquement la catégorie principale sur sa page d'article unique. Il voulait que ses visiteurs se concentrent sur le sujet principal au lieu d'être submergés par de nombreuses sous-catégories.

Dans cet article, nous vous montrerons comment utiliser un simple morceau de code pour modifier la façon dont WordPress affiche les catégories. Cela vous permettra d'afficher uniquement la catégorie principale sur une page d'article unique, ce qui peut grandement améliorer l'expérience de votre site pour les visiteurs.

Afficher uniquement la catégorie parente dans la boucle WordPress

Quand afficher uniquement la catégorie parente dans WordPress

De nombreux propriétaires de sites web utilisent des catégories parentes et enfants pour créer une structure pour leurs sites web.

Par exemple, un blog de voyage peut avoir des destinations de voyage organisées par catégories où chaque région est une catégorie parente et les villes des catégories enfants.

Catégories parentes et enfants affichées

De même, un blog culinaire peut publier des recettes organisées en catégories parent et enfant. Par exemple, une catégorie parente pourrait être le type de cuisine, et une catégorie enfant le type de plat.

Désormais, la plupart des thèmes WordPress utilisent la balise de modèle the_category() pour lister toutes les catégories associées à un article.

Cette fonction est efficace, mais elle affichera toutes les catégories par ordre alphabétique et ignorera complètement la relation parent/enfant.

Cela étant dit, examinons comment modifier ce comportement et n'afficher que la catégorie parente dans la boucle WordPress.

Afficher uniquement la catégorie parente dans la boucle d'articles WordPress

Pour ce tutoriel, vous devrez modifier les fichiers de votre thème WordPress. Si vous ne l'avez jamais fait auparavant, consultez notre article sur comment copier et coller des extraits de code dans WordPress.

Tout d'abord, vous devez ajouter un code au fichier functions.php de votre thème ou utiliser un plugin d'extraits de code. Nous recommandons d'utiliser WPCode car il vous permet d'ajouter du code sans casser votre site, et sa validation intelligente des extraits de code vous aide à prévenir les erreurs de code courantes.

Apprenez-en davantage dans notre guide sur comment ajouter facilement du code personnalisé dans WordPress sans casser votre site.

Pour ce tutoriel, nous utiliserons la version gratuite de WPCode. Bien qu'elle ne dispose pas de toutes les fonctionnalités avancées de la version complète, elle contient tout ce dont vous avez besoin pour commencer.

La première chose à faire est d'installer et d'activer le plugin WPCode. Si vous avez besoin d'aide, vous pouvez suivre notre guide étape par étape sur comment installer un plugin WordPress.

Après l'activation, vous pouvez aller à la page WPCode » Nouveau Snippet

Ajouter un nouvel extrait de code dans WPCode

Cela ouvrira une page où vous pourrez créer un snippet personnalisé.

Tout d'abord, vous devez ajouter un titre pour le snippet. Ensuite, vous pouvez copier et coller le snippet de code suivant dans le volet Aperçu du code.

function wpb_get_parent_terms($taxonomy = 'category')
{
    $currentPost = get_post();
    $terms       = get_the_terms($currentPost->ID, $taxonomy);

    if (is_wp_error($terms)) {
        /** @var \WP_Error $terms */
        throw new \Exception($terms->get_error_message());
    }

    $map = array_map(
        function ($term) use ($taxonomy) {
            return '<a href="' . esc_url(get_term_link($term->term_id,
                    $taxonomy)) . '" title="' . esc_attr($term->name) . '">
                ' . $term->name . '
                </a>';
        },
        array_filter($terms, function ($term) {
            return $term->parent == 0;
        })
    );

    return implode(', ', $map);
}
Ajouter un titre et un extrait de code à WPCode

Ensuite, vous devez sélectionner l’option « PHP Snippet » dans le menu déroulant Type de code et activer le commutateur Inactif sur Actif.

Enfin, assurez-vous de cliquer sur le bouton « Enregistrer le snippet » pour sauvegarder vos paramètres.

Dans WPCode, sélectionnez PHP comme type de code et activez l'extrait

Ce code crée simplement une nouvelle fonction wpb_get_parent_terms(). Par défaut, cette fonction n’affichera que les catégories parentes.

Ensuite, vous devez placer cette fonction dans les fichiers de votre thème WordPress où vous souhaitez afficher uniquement la catégorie parente.

Pour savoir quel fichier de modèle consulter, consultez notre aide-mémoire sur la hiérarchie des modèles WordPress pour débutants.

En gros, vous rechercherez la balise de modèle the_category() ; dans la boucle WordPress. Une fois que vous l’avez trouvée, vous devez la remplacer par le code suivant :

<?php wpb_get_parent_terms(); ?> 

Ce code affichera uniquement votre catégorie parente.

Si vous avez plusieurs catégories qui sont des catégories parentes ou autonomes, toutes ces catégories seront également affichées.

Catégorie parente uniquement affichée

Le fragment de code fonctionnera également pour toutes les autres taxonomies. Par exemple, les catégories de produits WooCommerce ou toute taxonomie personnalisée que vous pourriez avoir.

Modifiez simplement le code comme ceci :

<?php wpb_get_parent_terms( 'product_cat '); ?>

Ce code affichera les catégories de produits pour un magasin WooCommerce.

Il n’affichera également que les catégories parentes ou autonomes pour un produit.

Catégorie de produit parente uniquement affichée

Si vous souhaitez afficher une taxonomie personnalisée, remplacez product_cat par le nom de votre taxonomie personnalisée.

Guides d’experts sur l’affichage des catégories dans WordPress

Nous espérons que cet article vous a aidé à apprendre comment afficher uniquement la catégorie parente pour vos articles WordPress. Vous voudrez peut-être aussi consulter d’autres guides liés à l’affichage des catégories WordPress :

Si cet article vous a plu, abonnez-vous à notre chaîne YouTube pour des tutoriels vidéo WordPress. Vous pouvez également nous retrouver sur Twitter et Facebook.

Avis : Notre contenu est financé par nos lecteurs. Cela signifie que si vous cliquez sur certains de nos liens, nous pouvons percevoir une commission. Voir comment WPBeginner est financé, pourquoi c'est important et comment vous pouvez nous soutenir. Voici notre processus éditorial.

La boîte à outils WordPress ultime

Accédez GRATUITEMENT à notre boîte à outils - une collection de produits et de ressources liés à WordPress que tout professionnel devrait posséder !

Interactions des lecteurs

11 CommentsLeave a Reply

  1. Comment afficher uniquement la catégorie enfant ? (Comme dans l'image, « Thèse » ci-dessus ? )

  2. ajoutez des horodatages à vos articles. ainsi nous saurons quand vous l'avez écrit et n'incluez pas d'extraits de code vieux de 5 ans.

Laisser un commentaire

Merci d'avoir choisi de laisser un commentaire. N'oubliez pas que tous les commentaires sont modérés conformément à notre politique de commentaires, et votre adresse e-mail ne sera PAS publiée. Veuillez NE PAS utiliser de mots-clés dans le champ du nom. Ayons une conversation personnelle et significative.