Comment afficher uniquement la catégorie parent dans WordPress Post Loop


Souhaitez-vous afficher uniquement la catégorie parent de vos articles WordPress ?

Par défaut, la plupart des thèmes WordPress répertorieront toutes les catégories associées à une publication. Cependant, certains utilisateurs peuvent souhaiter afficher uniquement la catégorie parent et exclure les catégories enfants.

Dans cet article, nous allons vous montrer comment modifier la boucle de publication WordPress pour afficher uniquement la catégorie parent sur une seule publication.

Quand afficher uniquement la catégorie parent dans WordPress

De nombreux propriétaires de sites Web utilisent des catégories parent et enfant pour créer une structure pour leurs sites Web.

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 parent et les villes des catégories enfants.

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

Désormais, la plupart des thèmes WordPress utilisent la balise de modèle the_category() pour répertorier 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 parent dans la boucle WordPress.

Afficher uniquement la catégorie parent dans la boucle de publication WordPress

Pour ce tutoriel, vous devrez modifier vos fichiers de thème WordPress. Si vous ne l’avez jamais fait auparavant, consultez notre article sur la façon de copier et coller des extraits de code dans WordPress.

Tout d’abord, vous devez ajouter le code suivant au fichier function.php de votre thème ou utiliser un plugin d’extraits de code tel que WPCode (recommandé) :

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);
}

Pour plus de détails, consultez notre guide sur la façon d'ajouter du code personnalisé dans WordPress sans casser votre site.

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

Ensuite, vous devez placer cette fonction dans vos fichiers de thème WordPress là où vous souhaitez afficher uniquement la catégorie parent.

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

Fondamentalement, vous rechercherez the_category(); balise de modèle à l’intérieur de la boucle WordPress. Une fois que vous l'avez trouvé, vous devez le remplacer par le code suivant :

<?php wpb_get_parent_terms(); ?> 

Ce code affichera uniquement votre catégorie parent. Si vous disposez de plusieurs catégories qui sont des catégories parentes ou autonomes, toutes ces catégories seront également affichées.

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.

Modifiez simplement le code comme ceci :

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

Ce code affichera les catégories de produits pour une boutique WooCommerce et affichera uniquement les catégories parent ou autonomes d'un produit.

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

Nous espérons que cet article vous a aidé à apprendre à afficher uniquement la catégorie parent pour vos publications WordPress. Vous souhaiterez peut-être également consulter notre guide sur la façon d'afficher les champs personnalisés en dehors de la boucle ou notre sélection d'experts du meilleur logiciel de chatbot IA pour votre site Web.

Si vous avez aimé cet article, abonnez-vous à notre chaîne YouTube pour les didacticiels vidéo WordPress. Vous pouvez également nous trouver sur Twitter et Facebook.