Vous souhaitez afficher uniquement la catégorie parente de vos publications WordPress ?
Par défaut, la plupart des thèmes WordPress affichent toutes les catégories associées à une publication. Cependant, certains utilisateurs/utilisatrices peuvent vouloir uniquement afficher la catégorie parente à la place et exclure les catégories enfants.
Dans cet article, nous allons vous afficher comment modifier la boucle de publication de WordPress pour afficher uniquement la catégorie parente sur une publication unique.
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.
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 le code suivant au fichier functions.php de votre thème ou utiliser une extension d’extraits de code telle 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 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.
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.
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 :
- Comment afficher uniquement la catégorie enfant dans votre boucle de publication WordPress
- Comment afficher les sous-catégories sur les pages de catégories dans WordPress
- Comment afficher les descriptions de catégories dans WordPress
- Comment modifier l’ordre des catégories dans WordPress
- Comment afficher les publications récentes d’une catégorie spécifique dans WordPress
- Comment afficher / masquer les catégories sur WordPress (Guide ultime)
- Comment afficher les catégories vides dans les widgets WordPress
- Comment styliser différemment des catégories individuelles dans WordPress
- Comment masquer ou styliser vos sous-catégories dans WordPress
- Comment ajouter des images de taxonomie (icônes de 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.
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
Syed Balkhi says
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!
Davide says
Great! And if i want to give a different css to these categories?
Pedrille says
Awesome ! thks
Nithi says
How to display only Child category? (Like in the image, « Thesis » above? )
Cami Tirapani says
I’m wondering the same thing. :/
Joseph says
I know its old, but that would just be the current category
sathish says
very useful
JordashTalon says
You should vote this post up on WordPress I’ve noticed a huge lack of adding the Depth feature to WordPress Functions: http://wordpress.org/extend/ideas/topic/add-depth-parameter-to-the_category?replies=3#post-21041
JordashTalon says
WordPress Category functions that is
Kate M says
Didn’t work for me
AselHora says
put date stamps to your posts. this way we know when you wrote it and not include code snippets 5 years old.
John Saddington says
great tut!