Organiser le contenu de votre site WordPress est facile avec les catégories et les identifiants. Mais parfois, elles ne suffisent pas à tout organiser comme vous le souhaitez. C’est là que les taxonomies personnalisées entrent en jeu.
Avec les taxonomies personnalisées, vous pouvez créer vos propres façons de trier et de regrouper le contenu. Cela vous donne plus de contrôle et de flexibilité sur la façon dont vos publications, produits ou tout autre contenu sont catégorisés.
Dans ce guide, nous allons vous expliquer comment créer des taxonomies personnalisées sur WordPress, que vous utilisiez une extension ou que vous préfériez le faire manuellement.
Qu’est-ce qu’une taxonomie WordPress ?
Une taxonomie WordPress permet d’organiser des groupes de publications et des types de publications personnalisés.
Par défaut, WordPress est livré avec 2 taxonomies appelées catégories et identifiés. Vous pouvez les utiliser pour organiser les publications de votre blog.
Toutefois, si vous utilisez un type de publication personnalisé, il se peut que les catégories et les identifiants ne soient pas adaptés à tous les contenus.
Par exemple, vous pouvez créer un type de publication personnalisé appelé « Livres » et le trier à l’aide d’une taxonomie personnalisée appelée « Sujets ». Vous pouvez ensuite ajouter des termes tels que « Aventure », « Romance », « Horreur » et d’autres sujets liés aux livres.
Cela vous permettrait, ainsi qu’à vos lecteurs, de trier et de filtrer facilement les livres par Sujet.
Les taxonomies peuvent également être hiérarchiques, ce qui signifie que vous pouvez avoir des sujets principaux ou parents tels que « Fiction » et « Nonfiction ». Ensuite, il y a des sous-thèmes, ou enfants, dans chaque catégorie.
Par exemple, la catégorie mère « Fiction » peut avoir pour enfants « Aventure », « Romance » et « Horreur ».
Maintenant que vous savez ce qu’est une taxonomie personnalisée, apprenons à créer des taxonomies personnalisées dans WordPress.
Outil de personnalisation des taxonomies est puissant, mais il y a beaucoup à couvrir. Pour vous aider à configurer cela correctement, nous avons créé une table des matières facile ci-dessous :
Vous êtes prêts ? Premiers pas !
Créer des taxonomies personnalisées à l’aide d’une extension (en toute simplicité)
La première chose à faire est d’installer et d’activer le plugin Type de publication personnalisé UI. Pour plus de détails, consultez notre guide sur l’installation d’une extension WordPress.
Dans ce tutoriel, nous avons déjà créé un type de publication personnalisé et l’avons appelé » Livres « . Confirmez donc que vous avez créé un type de publication personnalisé avant de commencer à créer vos taxonomies.
Ensuite, dirigeons-nous vers CPT UI » Add/Edit Taxonomies dans la zone d’administration de WordPress pour créer votre première taxonomie.
Dans cet écran, vous devez effectuer les opérations suivantes :
- Créez le slug de votre taxonomie (il figurera dans votre URL).
- Créer le libellé du pluriel
- Créer le libellé singulier
- Remplir automatiquement les libellés
Votre première étape consiste à créer un slug pour la taxonomie à utiliser dans l’URL et dans les requêtes de recherche WordPress. Note : un slug peut uniquement contenir des lettres et des chiffres, et sera automatiquement converti en minuscules.
Ensuite, vous remplirez les noms au pluriel et au singulier de votre taxonomie personnalisée.
À partir de là, vous avez la possibilité de cliquer sur le lien « Remplir des étiquettes supplémentaires basées sur les étiquettes choisies ». Si vous faites cela, le plugin remplira automatiquement le reste des champs de l’étiquette pour vous.
Vous pouvez maintenant défiler vers le bas jusqu’à la section « Libellés supplémentaires ».
Dans cette zone, vous pouvez fournir une description de votre type de publication.
Ces libellés sont utilisés dans votre Tableau de bord WordPress lorsque vous modifiez et gérez le contenu de cette taxonomie personnalisée particulière.
Vient ensuite l’option Réglages. Dans cette zone, vous pouvez configurer différents attributs pour chaque taxonomie que vous créez. Chaque option est accompagnée d’une description détaillant ce qu’elle fait.
Dans la capture d’écran ci-dessus, vous verrez que nous avons choisi de rendre cette taxonomie hiérarchique.
Cela signifie que notre taxonomie « Sujets » peut avoir des sous-sujets. Par exemple, un objet appelé « Fiction » peut avoir des sous-thèmes tels que « Fantasy », « Thriller », « Mystère », etc.
Il y a beaucoup d’autres Réglages plus bas dans votre écran dans votre Tableau de bord WordPress, mais vous pouvez les laisser tels quels pour ce tutoriel.
Vous pouvez maintenant cliquer sur le bouton « Ajouter une taxonomie » en bas de page pour enregistrer votre taxonomie personnalisée.
Après cela, vous pouvez modifier le type de publication associé à cette taxonomie dans l’éditeur de contenu de WordPress pour commencer à l’utiliser.
Créer des taxonomies personnalisées manuellement (avec du code)
Cette méthode nécessite d’ajouter du code à votre site WordPress. Si vous ne l’avez pas encore fait, nous vous recommandons de lire notre guide sur la façon d’ajouter facilement des extraits de code dans WordPress.
Nous ne recommandons pas d’éditer directement vos fichiers WordPress, car la moindre erreur peut détruire l’ensemble de votre site. C’est pourquoi nous recommandons à tous d’utiliser WPCode, le plugin d’extraits de code le plus simple et le plus sûr qui soit.
Pour commencer, vous devrez installer et activer l’extension gratuite WPCode. Pour des instructions détaillées, consultez notre guide étape par étape sur l’installation d’une extension WordPress.
1. Création d’une taxonomie hiérarchique
Commençons par une taxonomie hiérarchique qui fonctionne comme les catégories et peut avoir des termes parents et enfants.
Une fois que vous avez installé et activé WPCode, vous pouvez naviguer vers » Code Snippets » Add Snippet dans votre tableau de bord WordPress.
À partir de là, vous pouvez survoler la rubrique « Ajouter votre code personnalisé (nouvel extrait) » et cliquer sur « Utiliser l’extrait ».
Vous accédez ensuite à la page « Créer un extrait personnalisé ».
Nommez simplement votre nouvel extrait de code et collez le code suivant dans la zone de texte :
//hook into the init action and call create_book_taxonomies when it fires
add_action( 'init', 'create_subjects_hierarchical_taxonomy', 0 );
//create a custom taxonomy name it subjects for your posts
function create_subjects_hierarchical_taxonomy() {
// Add new taxonomy, make it hierarchical like categories
//first do the translations part for GUI
$labels = array(
'name' => _x( 'Subjects', 'taxonomy general name' ),
'singular_name' => _x( 'Subject', 'taxonomy singular name' ),
'search_items' => __( 'Search Subjects' ),
'all_items' => __( 'All Subjects' ),
'parent_item' => __( 'Parent Subject' ),
'parent_item_colon' => __( 'Parent Subject:' ),
'edit_item' => __( 'Edit Subject' ),
'update_item' => __( 'Update Subject' ),
'add_new_item' => __( 'Add New Subject' ),
'new_item_name' => __( 'New Subject Name' ),
'menu_name' => __( 'Subjects' ),
);
// Now register the taxonomy
register_taxonomy('subjects',array('books'), array(
'hierarchical' => true,
'labels' => $labels,
'show_ui' => true,
'show_in_rest' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'subject' ),
));
}
Confirmez la modification du « Type de code » en « Extrait PHP » et faites basculer le commutateur sur « Actif ».
Vous pouvez ensuite cliquer sur « Enregistrer l’extrait ».
N’oubliez pas de remplacer le nom et les libellés de la taxonomie dans l’extrait par vos propres libellés de taxonomie. Vous remarquerez également que cette taxonomie est associée au type de publication Livres. Vous devrez la modifier pour l’associer au type de publication de votre choix.
Ensuite, défilez vers le bas et assurez-vous que les options « Insertion automatique » et « Exécuter partout » sont sélectionnées dans la zone d’insertion.
Une fois que c’est fait, vous pouvez défiler jusqu’en haut et cliquer sur le bouton « Mettre à jour » pour appliquer vos modifications en direct.
2. Création d’une taxonomie non hiérarchique
Pour créer une taxonomie personnalisée non hiérarchique comme les identifiants, vous utiliserez WPCode et suivrez exactement les mêmes étapes que ci-dessus.
Uniquement, vous utiliserez ce code à la place :
//hook into the init action and call create_topics_nonhierarchical_taxonomy when it fires
add_action( 'init', 'create_topics_nonhierarchical_taxonomy', 0 );
function create_topics_nonhierarchical_taxonomy() {
// Labels part for the GUI
$labels = array(
'name' => _x( 'Topics', 'taxonomy general name' ),
'singular_name' => _x( 'Topic', 'taxonomy singular name' ),
'search_items' => __( 'Search Topics' ),
'popular_items' => __( 'Popular Topics' ),
'all_items' => __( 'All Topics' ),
'parent_item' => null,
'parent_item_colon' => null,
'edit_item' => __( 'Edit Topic' ),
'update_item' => __( 'Update Topic' ),
'add_new_item' => __( 'Add New Topic' ),
'new_item_name' => __( 'New Topic Name' ),
'separate_items_with_commas' => __( 'Separate topics with commas' ),
'add_or_remove_items' => __( 'Add or remove topics' ),
'choose_from_most_used' => __( 'Choose from the most used topics' ),
'menu_name' => __( 'Topics' ),
);
// Now register the non-hierarchical taxonomy like tag
register_taxonomy('topics','books',array(
'hierarchical' => false,
'labels' => $labels,
'show_ui' => true,
'show_in_rest' => true,
'show_admin_column' => true,
'update_count_callback' => '_update_post_term_count',
'query_var' => true,
'rewrite' => array( 'slug' => 'topic' ),
));
}
Remarquez la différence entre les deux extraits de code. Dans la fonction register_taxonomy()
, la valeur de l’argument hiérarchique
est fixée à true
pour les taxonomies de type catégorie et à false
pour les taxonomies de type étiquette.
De plus, dans le tableau des libellés pour les taxonomies non hiérarchiques, nous avons ajouté null
pour les arguments parent_item
et parent_item_colon
, ce qui signifie que rien ne sera affiché dans l’interface utilisateur pour créer un article parent ou une taxonomie qui peut avoir des sous-sujets.
Confirmez une fois de plus que vous devez modifier le code pour inclure vos propres libellés de taxonomie personnalisés.
Affichage des taxonomies personnalisées
Maintenant que nous avons créé des taxonomies personnalisées et ajouté quelques termes, votre thème WordPress ne les affichera toujours pas.
Pour les afficher, vous devrez ajouter du code à votre thème WordPress ou à votre thème enfant. Plus précisément, ce code doit être ajouté aux fichiers de modèles dans lesquels vous souhaitez afficher les termes.
Vous pouvez ajouter manuellement cet extrait aux fichiers de votre thème, tels que single.php
, content.php
, archive.php
ou index.php.
Pour savoir quel fichier vous devez modifier, vous pouvez consulter notre guide sur la hiérarchie des modèles WordPress pour obtenir des modifications étape par étape.
Cependant, si cela n’est pas fait correctement, cela peut endommager votre site, c’est pourquoi nous recommandons une fois de plus d’utiliser l’extension gratuite WPCode.
Vous devrez ajouter le code suivant à l’endroit où vous souhaitez afficher les termes :
<?php the_terms( $post->ID, 'topics', 'Topics: ', ', ', ' ' ); ?>
Ensuite, vous pouvez simplement suivre les étapes ci-dessus pour coller l’extrait dans WPCode.
Mais sous Insertion, vous devez cliquer sur le menu déroulant à côté de « Emplacement » et sélectionner l’endroit où vous souhaitez afficher la taxonomie, par exemple avant l’article, après l’article ou même entre les paragraphes.
Pour ce tutoriel, nous allons sélectionner « Insérer après la publication ».
Vous pouvez voir dans l’image ci-dessous comment elle apparaîtra sur votre site direct.
Ajout de taxonomies pour les publications personnalisées
Maintenant que vous savez comment créer des taxonomies personnalisées, mettons-les en pratique à l’aide d’un exemple.
Nous allons créer une taxonomie et l’appeler « Non-fiction ». Comme nous disposons d’un type de publication personnalisé appelé « Livres », la création d’un article de blog est similaire à celle d’un article ordinaire.
Dans votre Tableau de bord WordPress, vous pouvez naviguer vers Livres » Sujets pour ajouter un terme ou un objet.
Sur cet écran, vous verrez 4 zones :
- Nom de l’expéditeur
- Slug
- Parent
- Description
Dans le champ « Nom », vous écrirez le terme que vous souhaitez ajouter. Vous pouvez passer à la partie slug et fournir une description pour ce terme particulier.
Dernier point, cliquez sur le bouton « Ajouter un nouvel objet » pour créer votre nouvelle taxonomie.
Votre nouveau terme ajouté devrait alors apparaître dans la colonne de droite.
Vous disposez désormais d’un nouveau terme que vous pouvez utiliser dans vos publications de blog. Vous pouvez également ajouter des termes directement lorsque vous modifiez ou rédigez du contenu sous ce type de publication particulier.
Il suffit d’aller dans Livres » Ajouter une nouvelle pour créer une publication.
Dans l’éditeur de publication, vous trouverez la faculté de sélectionner ou de créer de nouveaux termes dans la colonne de droite.
Après avoir ajouté des termes, vous pouvez aller de l’avant et publier ce contenu.
Toutes vos publications classées sous ce terme seront accessibles sur votre site à l’aide de leur propre URL. Par exemple, les publications classées sous l’objet « Fiction » apparaîtront à l’URL suivante :
https://example.com/subject/fiction/
Ajouter des taxonomies personnalisées au menu de navigation
Maintenant que vous avez créé des taxonomies personnalisées, vous pouvez les afficher dans le menu de navigation de votre site.
Vous devez vous rendre dans Apparence » Menus et sélectionner les termes que vous souhaitez ajouter sous l’onglet de votre taxonomie personnalisée qui apparaît sur le côté gauche de l’écran.
N’oubliez pas de cliquer sur le bouton « Enregistrer le menu » pour enregistrer vos réglages.
Vous pouvez maintenant visiter votre site pour voir votre menu en action.
Pour plus de détails, vous pouvez consulter notre guide étape par étape sur la création d’un menu déroulant dans WordPress.
Tutoriel vidéo
Si vous préférez regarder et apprendre à créer des taxonomies personnalisées, consultez notre tutoriel vidéo :
Bonus : Aller plus loin avec les taxonomies WordPress
Les taxonomies personnalisées vous permettent de faire des tonnes de choses. Par exemple, vous pouvez les afficher dans un widget de la colonne latérale ou ajouter des icônes d’image pour chaque terme.
Vous pouvez également créer des taxonomies personnalisées et permettre aux utilisateurs de s’abonner à des termes particuliers. Ainsi, vos lecteurs recevront uniquement des mises à jour sur le contenu spécifique qui les intéresse.
Si vous souhaitez personnaliser la mise en page de vos pages de taxonomie personnalisées, alors vous pouvez consulter SeedProd. C’est le meilleur constructeur de pages et de thèmes WordPress par drag-and-drop qui vous permet de créer des mises en page personnalisées sans aucun codage.
Pour en savoir plus, vous pouvez consulter notre article sur la façon de créer une page personnalisée dans WordPress.
Nous espérons que cet article vous a aidé à apprendre comment créer des taxonomies personnalisées sur WordPress. Vous pouvez également consulter nos guides sur la façon d’ajouter des images de taxonomie (icônes de catégorie) dans WordPress et sur la façon de modifier, déplacer et supprimer correctement les catégories de WordPress.
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.
Jiří Vaněk
Thank you for the clear instructions. I would like to make my own taxonomy for tutorials on the site. This tutorial is great and clear, thanks.
WPBeginner Support
Glad it was helpful
Administrateur
Kira
Hello.
I don’t understand this part:
ID, ‘topics’, ‘Topics: ‘, ‘, ‘, ‘ ‘ ); ?>
I mean, should I paste exactly that part into my loop-single.php?
I’m using a taxonomy called « writer »
WPBeginner Support
It would depend on where you want to display the terms, normally it would be added to the single.php.
Administrateur
Wolfgang
Hi,
I used your article to create a CPT with a hierarchical and a non-hierarchical taxonomy attached to it. I created a few entries and it all seems to be working fine. Both taxonomies display fine in their respective archive pages. One thing I noticed though when I tried to add the taxonomies to the menu was that the non-hierarchical taxonomy was available in the « Add menu item » column but the hierarchical taxonomy was NOT.
Is that an expected behavior? If not what could be going wrong?
Thanks
WPBeginner Support
The most common issues you could check would be that you have published content in the taxonomy and you may want to test adding a different content type to test if it is an issue with the taxonomy or something else.
Administrateur
mb
what does this line do
‘menu_name’ => __( ‘Subjects’ ),
is this in order to add taxonomies to the menu
aditya
hii i try everything but i taxonomy not showing in product. please help me.
WPBeginner Support
You would want to check under your preferences to ensure it is not hidden for your user.
Administrateur
Gina Wilson
This tutorial and specifically the part of how to display the custom taxonomy was a lifesaver! I’m very much a beginner and this was very helpful in understanding where I went wrong in my coding.
Thank you!!!
WPBeginner Support
Glad our guide was helpful
Administrateur
fengquanli
this is very confident with the custom post ui, thanks very much ,it’s very useful for get them.
WPBeginner Support
Glad our guide was helpful
Administrateur
Bruno Oliveira
Awesome tutorial! i have one question. how do i use my new taxonomy slug as permalink like category (/%category%/%year%/%monthnum%/%day%/%postname%/)
I want something like /%custom_taxonomy%/%year%/%monthnum%/%day%/%postname%/
i keep getting 404 error
WPBeginner Support
That is not something WordPress would allow by default and would require some custom coding to set up.
Administrateur
vikas
i tried the plugin method , it sucessfully created a new category in custom post type but it is not showing on my posts like tags and other categoties. can you help me with that?
WPBeginner Support
You would want to reach out to the support for your specific theme for customizing the display to include your taxonomy.
Administrateur
Richard
I am creating a podcast network where I have multiple podcasts on a single site with episodes under each individual podcast. Would something like this work for that? I really don’t want to go the multi site route.
WPBeginner Support
You can certainly use this should you want or another option would be to create a custom post type depending on your preference.
Administrateur
Maria
Hello is possible add the custom taxonomies to a custom product type?
I create a custom product call drinks and i have several taxonomies like country, material and etc
I want when the user click in drinks then only apperas those taxonomies, is this posiible?
WPBeginner Support
You should be able to using the plugin method.
Administrateur
Parveen Kaushik
Hi,
Thanks for this article, I am getting 404 page after using this code, can you help me
WPBeginner Support
If you haven’t done so yet, resave your permalinks for the most common solution
Administrateur
Mike Smith
this code works great on my site for work. Can you tell me how to add the custom taxonomy into the site’s rss feed?
WPBeginner Support
It would depend on what you are looking for, for a starting point you would want to take a look at our article below:
https://www.wpbeginner.com/wp-tutorials/how-to-make-a-separate-rss-feed-for-each-custom-post-type-in-wordpress/
Administrateur
angela
thank you for taking the time to post this, this was the first site that actually explained this and it made sense, haha. im a happy camper now
WPBeginner Support
You’re welcome, glad our guide could help simplify the process
Administrateur
Jem
How to show custom taxonomy (checkbox list) in Post editor page like category and tag?
WPBeginner Support
It would depend on which method you used to create the custom taxonomy, if you’re using the plugin you would want to reach out to the plugin’s support to make sure they have show_in_rest set to true for seeing it in the block editor.
Administrateur
Jem
No, I am not using any plugin. I have just copy paste your snippet. Its create new taxonomy. But it is not display in post editor page like category, tags display on rightside panel.
Can you please guide me how can I show custom taxonomy in post editor page?
WPBeginner Support
In the register_taxonomy array, you would want to first try adding a new line with the code below:
‘show_in_rest’ => true,
Jim Gersetich
The first half of this post is completely useless. the Simple Taxonomy plugin doesn’t work with the current WordPress version, and it hasn’t been updated in four years.
Please try to find another plugin and change that section to go with the new one.
WPBeginner Support
Thank you for letting us know, we’ll certainly take a look at updating this article.
Administrateur