Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Coupe WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Comment afficher uniquement la catégorie parentale dans la boucle de publication de WordPress

Chez WPBeginner, nous comprenons que la création d’une hiérarchie bien structurée de catégories et de sous-catégories peut améliorer l’expérience utilisateur et le référencement.

Par défaut, la plupart des thèmes WordPress listent toutes les catégories associées à une publication.

Cependant, l’un de nos lecteurs nous a demandé s’il était possible de n’afficher que la catégorie parente dans la boucle de publication et d’exclure les catégories enfantines. Il souhaite concentrer l’attention de ses internautes sur le thème général de chaque publication plutôt que sur une hiérarchie complexe.

Dans cet article, nous vous montrerons comment utiliser un extrait de code pour modifier la boucle de publication de WordPress et n’afficher que la catégorie parente sur un seul article.

Displaying only the parent category in WordPress loop

Quand afficher uniquement la catégorie parentale dans WordPress ?

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

Par exemple, un blog de voyage peut présenter des destinations de voyage organisées par catégories, chaque région étant une catégorie parentale et les villes des catégories enfantines.

Parent and child categories displayed

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

Aujourd’hui, la plupart des thèmes WordPress utilisent le marqueur de modèle_category () pour lister toutes les catégories associées à une publication.

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

Ceci étant dit, voyons comment modifier ce comportement et afficher uniquement la catégorie parente dans la boucle WordPress.

Afficher uniquement la catégorie parentale dans la boucle d’un article WordPress

Pour ce tutoriel, vous devrez modifier les fichiers de votre thème WordPress. Si vous n’avez jamais fait cela auparavant, alors consultez notre article sur la façon de 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 une extension d’extraits de code. Nous vous 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 à éviter les erreurs de code courantes.

Pour en savoir plus, consultez notre guide sur l ‘ajout de 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 l’extension WPCode. Si vous avez besoin d’aide, vous pouvez suivre notre guide étape par étape sur l’installation d’une extension WordPress.

Après l’activation, vous pouvez vous rendre sur la page WPCode  » New Snippet

Adding a New Snippet in WPCode

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

Tout d’abord, vous devez ajouter un titre à l’extrait de code. Ensuite, vous pouvez copier et coller l’extrait 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);
}
Adding a Title and Code Snippet to WPCode

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

Enfin, n’oubliez pas de cliquer sur le bouton « Enregistrer l’extrait » pour stocker vos paramètres.

In WPCode, Select PHP as the Code Type and Toggle the Snippet Active

Ce code crée simplement une nouvelle fonction wpb_get_parent_terms(). Par défaut, cette fonction affichera uniquement les catégories parentales.

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

Pour savoir dans quel fichier de modèle il faut regarder, consultez notre hiérarchie des modèles WordPress pour les débutants.

En fait, vous chercherez le marqueur de modèle the_category(); à l’intérieur de 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 parentale.

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

Only parent category displayed

L’extrait 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.

Il suffit de modifier le code comme suit :

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

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

En outre, il affichera uniquement les catégories parentes ou autonomes d’un produit.

Only parent product category displayed

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

Maintenant que vous savez comment afficher uniquement la catégorie parente pour vos publications WordPress, vous pouvez consulter d’autres guides similaires liés à 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 publications WordPress. Vous pouvez également consulter notre guide sur la façon d’afficher les champs personnalisés en dehors de la boucle ou notre choix d’expert du meilleur logiciel de chatbot IA pour votre site.

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.

Divulgation : Notre contenu est soutenu par les lecteurs. Cela signifie que si vous cliquez sur certains de nos liens, nous pouvons gagner une commission. Consultez comment WPBeginner est financé, pourquoi cela compte et comment vous pouvez nous soutenir. Voici notre processus éditorial.

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

L'ultime WordPress Toolkit

Accédez GRATUITEMENT à notre boîte à outils - une collection de produits et de ressources liés à WordPress que tous les professionnels devraient avoir !

Reader Interactions

11 commentairesLaisser une réponse

  1. Davide

    Great! And if i want to give a different css to these categories?

  2. Nithi

    How to display only Child category? (Like in the image, « Thesis » above? )

    • Cami Tirapani

      I’m wondering the same thing. :/

      • Joseph

        I know its old, but that would just be the current category

  3. AselHora

    put date stamps to your posts. this way we know when you wrote it and not include code snippets 5 years old.

Laisser une réponse

Merci d'avoir choisi de laisser un commentaire. Veuillez garder à l'esprit que tous les commentaires sont modérés selon 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.