L'un de nos lecteurs nous a récemment contactés pour demander des moyens d'ajouter des catégories à un type de publication personnalisé dans WordPress.
Les catégories sont l'une des taxinomies intégrées de WordPress, principalement pour les articles de blog. Cependant, elles n'apparaissent pas automatiquement dans les types de publication personnalisés, ce qui limite vos options d'organisation.
Heureusement, nous avons trouvé quelques solutions simples à ce problème au fil de nos années de travail sur des sites Web WordPress.
Dans cet article, nous vous montrerons comment ajouter des catégories à un type de publication personnalisé dans WordPress.

Quand pourriez-vous avoir besoin d'ajouter des catégories à un type de publication personnalisé ?
WordPress permet aux développeurs de plugins et aux propriétaires de sites Web de créer leurs propres types de contenu. Similaires aux articles et aux pages, ces types de publication personnalisés peuvent également avoir leurs propres taxinomies comme les catégories et les étiquettes.
Par exemple, si vous publiez des critiques de films, vous voudrez peut-être créer un type de publication personnalisé pour les « Films ».
Vous pourriez également avoir besoin d'organiser vos films par sujets appropriés, pour cela vous aurez besoin d'une taxinomie personnalisée. Vous pouvez créer une taxinomie appelée genre.
Cependant, que se passerait-il si vous vouliez utiliser les mêmes catégories que celles que vous utilisez pour vos articles de blog avec le type de publication Films ?
C'est à ce moment-là que vous devez activer les catégories pour votre type de publication personnalisé. Cela vous permettrait d'utiliser les mêmes catégories pour vos articles de blog que pour votre type de publication personnalisé.
Cela dit, examinons maintenant comment ajouter facilement des catégories à un type de publication personnalisé dans WordPress.
- Ajouter des catégories à un type de publication personnalisé avec un plugin
- Ajouter manuellement des catégories à un type de publication personnalisé avec du code
- Afficher plusieurs types de publications sur la page de catégorie
- Guides d'experts sur les catégories dans WordPress
Ajouter des catégories à un type de publication personnalisé avec un plugin
Si vous êtes débutant, nous vous recommandons d'utiliser le plugin Custom Post Type UI pour créer des types de publications personnalisés.
Avec le plugin Custom Post Type UI, vous avez la possibilité d'associer votre type de publication personnalisé à n'importe quelle taxonomie intégrée ou personnalisée, y compris les catégories.
Tout d'abord, vous devez installer et activer le plugin Custom Post Type UI. Pour plus de détails, consultez notre guide étape par étape sur comment installer un plugin WordPress.
Après l'installation, vous devez visiter CPT UI » Ajouter/Modifier les types de publications pour créer un nouveau type de publication personnalisé ou modifier un type de publication personnalisé existant que vous avez créé avec le plugin.

Faites défiler vers le bas jusqu'à la section Options de réglage. De là, vous verrez la zone Taxonomies.
Vous devez cocher la case à côté de catégories et enregistrer votre type de publication personnalisé.

N'oubliez pas de cliquer sur le bouton « Enregistrer le type de publication » pour sauvegarder vos réglages.
Désormais, vous pouvez modifier tout contenu sous ce type de publication particulier, et vous verrez l'option de sélectionner des catégories dans la colonne de droite dans l'éditeur de blocs WordPress.

Ajouter manuellement des catégories à un type de publication personnalisé avec du code
Si vous avez créé votre type de publication personnalisé en ajoutant le code dans le fichier functions.php de votre thème, un plugin spécifique au site, ou dans un plugin d'extraits de code, vous devrez alors modifier le code pour ajouter la catégorie en tant que taxonomie prise en charge.
Tout ce que vous avez à faire est d'ajouter cette ligne dans les arguments de votre type de publication personnalisé.
'taxonomies' => array( 'category' ),
Il est probable que vous ayez déjà cette ligne dans le code existant de votre type de publication personnalisé avec une autre taxonomie personnalisée. Si c'est le cas, il vous suffit d'ajouter une virgule après celle-ci et d'ajouter une catégorie, comme ceci :
'taxonomies' => array('topics', 'category' ),
Voici un exemple complet de code où nous avons créé un type de publication personnalisé appelé « Films » avec la prise en charge des catégories intégrées.
function custom_post_type() {
// Set UI labels for Custom Post Type
$labels = array(
'name' => _x( 'Movies', 'Post Type General Name', 'twentythirteen' ),
'singular_name' => _x( 'Movie', 'Post Type Singular Name', 'twentythirteen' ),
'menu_name' => __( 'Movies', 'twentythirteen' ),
'parent_item_colon' => __( 'Parent Movie', 'twentythirteen' ),
'all_items' => __( 'All Movies', 'twentythirteen' ),
'view_item' => __( 'View Movie', 'twentythirteen' ),
'add_new_item' => __( 'Add New Movie', 'twentythirteen' ),
'add_new' => __( 'Add New', 'twentythirteen' ),
'edit_item' => __( 'Edit Movie', 'twentythirteen' ),
'update_item' => __( 'Update Movie', 'twentythirteen' ),
'search_items' => __( 'Search Movie', 'twentythirteen' ),
'not_found' => __( 'Not Found', 'twentythirteen' ),
'not_found_in_trash' => __( 'Not found in Trash', 'twentythirteen' ),
);
// Set other options for Custom Post Type
$args = array(
'label' => __( 'movies', 'twentythirteen' ),
'description' => __( 'Movie news and reviews', 'twentythirteen' ),
'labels' => $labels,
'supports' => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', 'custom-fields', ),
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'show_in_nav_menus' => true,
'show_in_admin_bar' => true,
'menu_position' => 5,
'can_export' => true,
'has_archive' => true,
'exclude_from_search' => false,
'publicly_queryable' => true,
'capability_type' => 'page',
'show_in_rest' => true,
// This is where we add taxonomies to our CPT
'taxonomies' => array( 'category' ),
);
// Registering your Custom Post Type
register_post_type( 'movies', $args );
}
/* Hook into the 'init' action so that the function
* Containing our post type registration is not
* unnecessarily executed.
*/
add_action( 'init', 'custom_post_type', 0 );
Afficher plusieurs types de publications sur la page de catégorie
Par défaut, les pages de catégories de votre site WordPress n'afficheront que le type de publication « Articles » par défaut.

Pour afficher vos types de publication personnalisés sur la même page de catégorie que vos articles par défaut, vous devez ajouter ce code dans le fichier functions.php de votre thème ou dans un plugin d'extraits de code :
add_filter('pre_get_posts', 'query_post_type');
function query_post_type($query) {
if( is_category() ) {
$post_type = get_query_var('post_type');
if($post_type)
$post_type = $post_type;
else
$post_type = array('nav_menu_item', 'post', 'movies'); // don't forget nav_menu_item to allow menus to work!
$query->set('post_type',$post_type);
return $query;
}
}
Remarque : N'oubliez pas de remplacer « movies » par le nom de votre propre type de publication personnalisé.
Nous vous recommandons d'ajouter ce code en utilisant WPCode, le meilleur plugin d'extraits de code du marché. WPCode permet d'ajouter du code personnalisé dans WordPress de manière sûre et facile sans modifier le fichier functions.php de votre thème.

Pour commencer, vous devez installer et activer le plugin gratuit WPCode. Si vous avez besoin d'aide, consultez notre tutoriel sur comment installer un plugin WordPress.
Une fois le plugin activé, allez dans Extraits de code » Ajouter un extrait depuis le tableau de bord WordPress.
Sur la page Ajouter un extrait, survolez l'option « Ajouter votre code personnalisé (Nouvel extrait) » avec votre souris et cliquez sur le bouton « + Ajouter un extrait personnalisé ».

Ensuite, sélectionnez « Extrait PHP » comme type de code dans la liste des options qui apparaissent à l'écran.

Ensuite, ajoutez un titre pour votre extrait en haut de la page, qui est uniquement pour votre référence et peut être n'importe quoi pour vous aider à vous souvenir de l'utilité du code.
Ensuite, collez simplement le code ci-dessus dans la boîte « Aperçu du code ».

Après cela, basculez l'interrupteur en haut de la page de « Inactif » à « Actif » et cliquez sur le bouton « Enregistrer l'extrait ».

Vous pouvez maintenant visiter une page d'archive de catégorie, et elle affichera vos entrées de votre type de publication personnalisé.

Vous pouvez utiliser les mêmes méthodes pour ajouter des étiquettes à vos types de publication personnalisés. Consultez notre guide sur les catégories par rapport aux étiquettes pour en savoir plus.
Guides d'experts sur les catégories dans WordPress
Vous souhaitez en savoir plus sur l'utilisation des catégories dans WordPress ? Consultez ces tutoriels :
- Comment changer l'ordre des catégories dans WordPress
- Comment changer, déplacer et supprimer correctement les catégories WordPress
- Comment imposer une seule catégorie par article dans WordPress
- Comment ajouter des images de taxonomie (icônes de catégorie) dans WordPress
- Comment convertir les catégories WordPress en taxonomie personnalisée
- Comment afficher les catégories vides dans les widgets WordPress
- Comment suivre les analyses de catégories et de tags WordPress (méthode facile)
Nous espérons que cet article vous a aidé à apprendre comment ajouter des catégories à votre type de publication personnalisé dans WordPress. Vous pourriez également vouloir consulter notre sélection d'experts des plugins WordPress indispensables pour développer votre site web, ou ces astuces sur comment augmenter le trafic de votre blog.
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.

Chandu Mullangi
Salut, merci pour cet article
Pour afficher plusieurs types de publications sur la page de catégorie, le code fonctionne bien.
Je veux afficher plusieurs types de publications sur la page des tags, pouvez-vous partager ce code s'il vous plaît.
Support WPBeginner
Pour ajouter des tags à vos types de publication personnalisés, vous ajouteriez « post_tag » à votre tableau de taxonomie, cela ressemblerait donc à ceci :
‘taxonomies’ => array( ‘category’, ‘post_tag’ ),
Admin
Muhamad Shahzad
Comment séparer les listes de catégories de types de publication personnalisés des catégories des articles de blog. J'ai ajouté le code ci-dessus et cela fonctionne. Mais le problème est que les catégories de ce type de publication personnalisé et les articles de blog sont mélangés. ils devraient être séparés.
Support WPBeginner
L'objectif de ce tutoriel est de les mélanger, pour ce que vous recherchez, il serait peut-être préférable d'utiliser une catégorie différente pour les types de publication personnalisés afin qu'ils n'apparaissent pas sur vos pages d'archives de catégories.
Admin
Poulomi Basu
Bonjour,
J'ai utilisé ce code et cela a parfaitement fonctionné ! Le CPT s'affiche dans la catégorie de publication que j'ai choisie pour lui.
Mais il ne s'affiche pas dans mes archives de blog. Comme l'archive par défaut, qui affiche tous les articles.
Comment puis-je l'afficher là aussi ?
Merci beaucoup !
Support WPBeginner
You would want to take a look at our article below that covers how to do this
https://www.wpbeginner.com/wp-tutorials/how-to-create-custom-post-types-in-wordpress/
Admin
Connie
S'il vous plaît, dites-moi comment ajouter une catégorie CPT à un menu ?
J'ai le CPT « article » avec la catégorie « voiture » et « camion »
Je veux avoir un menu personnalisé avec ces entrées :
Tous – voitures – camions
Je cherche et je cherche et je ne trouve pas. Je vois les catégories dans l'administration du menu et je peux les ajouter au menu, mais le résultat de ces liens = pages blanches
Je suppose que les catégories listées sont destinées aux catégories d'articles et non aux catégories de cpt...
Avez-vous un indice pour moi ?
Connie
Support WPBeginner
Vous voudrez peut-être vérifier vos options d'écran dans la zone de menu pour voir si le type de publication personnalisé est une option là pour vous à ajouter et qui est actuellement décochée
Admin
Vico
J'ai créé un type de publication appelé produits et j'utilise les catégories wp de base,
La structure de l'URL de mon produit est mysite.com/produit/skf bearing 12
Mes pages de catégorie affichent mysite.com/categorie/bearings
Pourquoi l'URL du produit n'affiche-t-elle pas la catégorie dans l'URL ? Comme ceci
mysite.com/bearings/skf bearing 12
Le permalien de ma publication personnalisée est %category%%post%
J'ai enregistré le permalien mais la structure est toujours la même
dharamjeet
hey ! ma liste de catégories de publications par défaut s'affiche dans la liste de catégories de types de publications personnalisées
s'il vous plaît, aidez-moi à corriger cela
carlos ballin
finally works for me
thank you
Moises
Pourquoi avez-vous ajouté le twentythirteen dans le code ?
Support WPBeginner
Salut Moises,
Cette chaîne est utilisée pour la traduction. Si votre thème prend en charge la traduction, vous devez la remplacer par le domaine de texte de votre thème. Si vous n'êtes pas sûr de ce qu'il faut utiliser ici, demandez à votre support de thème. Vous pouvez également la coller telle quelle et ces chaînes seront ignorées.
Admin
Brian
Pour information, cela va casser votre édition en masse dans l'administration. Je l'ai ajouté à un tas de types de publication et lorsque je vais dans l'édition en masse, la partie post_type de la requête devient « Array » au lieu du type de publication qu'il essaie d'éditer dans l'administration.
Pour contourner cela, il suffit d'ajouter ceci avant if( is_category() ):
`if ( is_admin() ) return;`
rose
Bonjour, j'ai besoin d'aide.
J'ai 2 CPT et je ne veux pas qu'ils aient une taxonomie partagée.
Comme
CPT 1
– Taxonomie (Types)
– Type A
– Type B
CPT 2
– Taxonomie (Types)
– Type c
– Type D
Note : Je ne veux pas montrer ici les types A&B du CPT 1
Merci
Support WPBeginner
Salut Rose,
Lors de la création de vos taxonomies, vous pouvez les nommer différemment et leur permettre d'avoir les mêmes étiquettes.
Admin
Gabriela
Comment ajouter un deuxième type de publication personnalisé ?
J'ai essayé de répéter le code en changeant seulement les noms de mes CPT mais ça ne fonctionne pas…
Des idées ?
Arun Sathiya
Le code d'affichage des CPT dans les pages de catégories fonctionne à merveille, merci ! Mais, il y a quelque chose que vous devriez noter cependant. Le dernier article / article CPT étiqueté avec un nom de catégorie ne s'affiche pas immédiatement sur cette page de catégorie. Il ne s'affiche que lors de la deuxième action similaire – seulement lorsqu'un autre article / article CPT est ajouté à la même catégorie, le premier article apparaît sur cette page de catégorie. Y a-t-il une solution à cela ?
Sonjoe
J'utilise CPT UI. J'ai créé un type de publication personnalisé « jobs » et j'ai autorisé les catégories. Mais ces mêmes catégories sont également sur les publications. Elles utilisent les mêmes catégories. Est-il possible que mon type de publication personnalisé « jobs » ait ses propres catégories et que les publications classiques aient leurs propres catégories ? Merci
Rizky
Même question. Devons-nous exécuter une requête personnalisée si nous voulons créer une archive de catégories de ce type de publication personnalisé ?
fathur
comment gérez-vous le widget de la barre latérale « Dernières publications » qui liste également l'élément de menu ?
$post_type = array(‘nav_menu_item’, ‘post’, ‘movies’);
Support WPBeginner
vous pouvez supprimer nav_menu_item
Admin
vivek
Thanks for the great tutorial here.
Pouvez-vous me dire comment afficher des articles personnalisés par catégorie sur une page séparée.
La page de catégorie par défaut fonctionne correctement, elle affiche les articles. mais quand j'ai essayé d'afficher des articles sous la même catégorie sur une autre page, elle renvoie un tableau vide. Aidez-moi s'il vous plaît
Matthew Wright
Merci ! C'est génial. Cela a résolu simplement un problème sur lequel je travaillais avec des solutions beaucoup plus compliquées (qui n'ont pas fonctionné).
Une question cependant, je n'ai jamais ajouté la déclaration de taxonomie lors de la création de taxonomies personnalisées pour mes CPT et les taxonomies ont toujours fonctionné. J'ai ajouté juste la 'catégorie' pour voir ce qui se passerait et cela a magnifiquement fonctionné, j'ai ajouté des catégories d'articles à mon CPT sans aucun effet néfaste sur les taxonomies personnalisées existantes.
Est-ce une bonne pratique de mettre des taxinomies personnalisées dans les arguments du CPT ?
Thanks again for sharing
Support WPBeginner
Oui, si vous savez déjà que vous utiliserez une taxonomie personnalisée pour ce type d'article particulier.
Admin
Daisy
Code personnalisé pour ajouter des catégories et des sous-catégories dans un type d'article personnalisé. Si je choisis $post_type = array(‘nav_menu_item’, ‘post’, ‘myPostType’); le code pour afficher mes catégories n'affiche que cette catégorie mais si je réutilise la même fonction pour une autre catégorie, cela ne fonctionne pas. Avez-vous une idée ?
Chris Najman
Bonjour. J'ai créé avec succès un type d'article personnalisé (Œuvre d'art) dans functions.php. Ensuite, j'ai créé une taxonomie personnalisée (‘hierarchical’ => true) ce qui signifie que je peux ajouter des catégories personnalisées lorsque je crée un nouvel article Œuvre d'art.
Je me demandais si, dans la même fonction de taxonomie personnalisée, je pouvais pré-définir les catégories pour l'article Œuvre d'art.
Je souhaite que seules deux catégories soient sélectionnables par l'utilisateur : 1) Peinture, 2) Sculpture. Je ne veux pas que l'utilisateur puisse ajouter d'autres catégories. Idéalement, l'utilisateur serait 'obligé' de choisir l'une ou l'autre catégorie, c'est-à-dire que l'article ne serait pas publiable à moins qu'une catégorie n'ait été choisie.
Est-ce possible ?
Support WPBeginner
Il est possible en créant des rôles d'utilisateur personnalisés avec une limite sur la création de catégories.
Admin
Mau Ferrusca
J'ajoute plus d'une catégorie à plusieurs types de publication personnalisés.
Comment pouvez-vous en ajouter plus d'une dans la ligne :
$post_type = array(‘nav_menu_item’, ‘post’, ‘myPostType’);
?
Merci !
Mau Ferrusca
J'ai déjà résolu mon problème.
Peut-être instinctivement, j'ai commencé à lister mes types de publication personnalisés sous forme de tableau, mais il s'avère que tout ce dont j'avais besoin était de les lister à l'intérieur de l'objet $post_type, séparés par des virgules.
Merci !
Eren
Bonjour, j'ai une question. J'utilise un plugin comme type de publication et il a sa propre zone de catégories. Je veux utiliser les catégories principales de mon WordPress dans ce plugin mais je n'y suis pas parvenu jusqu'à présent. J'ai utilisé le plugin ci-dessus et après cela, il crée 2 zones de catégories sous le plugin et lorsque je veux afficher les publications sous ce type de publication avec des catégories, il n'affiche rien car la liste des catégories du plugin est vide. J'ai essayé beaucoup de choses, y compris la manipulation du code du plugin, mais rien n'a résolu mon problème. Y a-t-il un moyen que vous puissiez suggérer ?
Davide
Avez-vous trouvé une solution à ce problème ?
David
Cet article a-t-il été mis à jour récemment pour fonctionner avec la version actuelle de WP ? J'ai remarqué que le plugin utilisé n'a pas été mis à jour depuis plus de 2 ans, ce qui me rend un peu hésitant à l'utiliser.
David
Désolé, oubliez ça, je vois les informations mises à jour.
Piyush
Merci pour ce super tutoriel. Pouvez-vous me dire comment afficher des publications personnalisées par catégorie sur une page séparée ? Disons que j'ai un CPT « talent » et une catégorie « art ». J'ai deux publications différentes, l'une créée sous le CPT « talents » et l'autre est une publication générale créée sous « publications ». Les deux publications sont assignées à la catégorie « art » (c'est commun aux deux CPT et aux publications générales). Maintenant, je sais que pour les publications générales, vous pouvez voir la page de catégorie comme exemple.com/category/art/. Pour la page de catégorie CPT, je suppose que l'URL devrait être exemple.com/talent/art/ mais cela me donne une erreur 404.
Support WPBeginner
Essayez de mettre à jour la structure de vos permaliens. Visitez simplement Paramètres » Permaliens, puis cliquez sur le bouton Enregistrer les modifications sans rien changer.
Admin
Robert
Bien joué merci !
J'ai quelques problèmes :
– dans le widget « Catégories », les catégories des Custom Post Types apparaissent mais en cliquant dessus, un message « rien trouvé » s'affiche.
– dans le widget « Articles récents », les articles des Custom Post Types n'apparaissent pas.
Y a-t-il un moyen de résoudre cela ?
Hemang Rindani
Article intéressant. WordPress est un puissant service de gestion de contenu web d'entreprise qui permet à une entreprise d'avoir des sites web efficaces qui répondent à ses besoins commerciaux. Sa facilité d'utilisation et ses outils simples rendent le développement plus facile. De la conception réactive à la sécurité et à l'évolutivité, WordPress CMS a tout ce qu'il faut, cependant, rechercher les bons outils pour un site web est important.
L'ajout d'une catégorie à un type de publication personnalisé devient parfois une nécessité pour différencier une publication d'une autre, où les méthodes mentionnées dans l'article seront utiles. L'utilisation d'un plugin sera une méthode facile où même une personne non technique pourra l'implémenter, cependant avec cet article, je ne pense pas qu'utiliser du code pour ajouter cette fonctionnalité par une personne non technique sera difficile.
Merci pour le partage.
Emily Johns
Super conseils, j'ai trouvé comment résoudre mon problème grâce à ça. Merci !