Les custom post types (ou types de contenus personnalisés) permettent de créer du contenu différent (et différencié) de ceux fournis par défaut par WordPress, à savoir les articles ou les pages.
Ils peuvent vous permettre par exemple de créer des contenus de type “bien immobilier”, “livre”, ou “film”. Autre exemple, ce que vous êtes en train de lire n’est pas un article mais un contenu de type “snippet”.
Pour vous montrer comment faire, nous allons créer un custom post type (CPT) pour lister des séries TV. Nous verrons ensuite comment y ajouter des taxonomies personnalisées pour classer ces contenus (à l’instar des catégories et des étiquettes).
Sommaire
Info : Utilisez les générateurs de custom post type et de custom taxonomy de WPTurbo pour gagner un temps précieux.
1ère étape: la création de notre custom post type
Ouvrez le fichier functions.php
de votre thème enfant et copiez-collez le code suivant à l’intérieur:
Attention aux accents et espaces dans la déclaration du nom du CPT dans la fonction register_post_type($nomduposttype,$args)
. Ils ne sont pas pris en compte et peuvent vous renvoyer des erreurs.
Cette valeur déterminera également l’URL de vos CPT si vous n’utilisez pas l’attribut ‘rewrite’. Ici ça aurait été monsite.fr/seriestv/masérie.
Je vous conseille donc d’écrire votre CPT le plus simplement, s’il est en plusieurs mots.
Si j’avais laissé ‘Séries TV’, cela aurait entraîné comme valeur de définition du nom ‘srietv’ alors que ‘seriestv’ est plus lisible et plus simple. Nous utiliserons cette valeur un peu plus loin lors de la création des templates.
Quelques exemples sur les options disponibles :
- hierarchical : permet d’avoir une relation parent/enfant à la manière de la hiérarchie des catégories si la valeur est “true”, ou des étiquettes si la valeur est “false” ;
- public : définit si votre custom post type est visible sur votre site. La valeur par défaut est “true” ;
- has_archive : permet de générer des pages d’archives pour le custom post type. La valeur par défaut est “false” ;
- rewrite : permet de définir le slug utilisé pour les custom post type. Par exemple ici, si je ne le définis pas, le slug par défaut est monsite.com/seriestv. J’ai préféré opter pour un plus lisible et optimisé pour le référencement naturel.
Si vous souhaitez connaître tous les attributs disponibles de la fonction register_post_type()
, je vous invite à lire la page dédiée sur le sur le Codex de WordPress.
Voilà, notre custom post type est maintenant présent dans l’administration de WordPress :
Modifier l’icône de notre custom post type dans le tableau de l’administration
Par défaut, l’icône affichée est la même que pour les articles. Cependant, vous avez la possibilité de la changer en ajoutant votre propre Dashicon (les icônes fournis avec WordPress), ou une image de votre choix via une URL.
Vous pouvez trouver la liste de tous les Dashicons disponibles dans les ressources développeurs de WordPress.
Nous allons rajouter l’attribut suivant dans la liste des options de notre custom post type (à l’endroit ou l’on défini label, description, labels…) :
Ce qui nous donne comme code final :
J’ai par exemple remplacé l’icône d’origine par le Dashicon caméra pour mon custom post type Séries TV :
2ème étape: la création de nos taxonomies personnalisées
On va maintenant ajouter trois taxonomies pour le CPT “Séries TV”.
Il s’agit de Année, Réalisateurs et Catégories de série. Année et Réalisateurs se comporteront comme les étiquettes (tags) classiques que vous utilisez déjà dans les articles WordPress. Catégories de série se comportera en revanche comme les catégories standards.
Vous pourrez par la suite en ajouter autant que vous le voulez, si vous avez besoin d’avoir d’autres types de classements.
Pour les créer, il faut également les définir dans le fichier functions.php
de votre thème enfant.
Voici le code PHP à copier-coller :
On utilise une fonction globale wpm_add_taxonomies()
, qui va englober toutes nos taxonomies. Elles seront chargées au lancement de votre site grâce à l’utilisation du hook add_action( 'init', 'wpm_add_taxonomies', 0 );
.
À l’intérieur de cette fonction, on utilise la fonction register_taxonomy( 'nom-de-votre-taxonomie', 'nom-du-custom-post-type', $args )
qui va permettre de lier tous les paramètres que vous avez déclarés.
Si vous souhaitez connaître tous les attributs disponibles de la fonction register_taxonomy()
, je vous invite à lire la page dédiée sur le Codex de WordPress.
Voilà à quoi devrait ressembler la page de votre custom post type dans l’administration :
Pour l’exemple, j’ai créé la page de la série Homeland :
3ème étape: l’affichage de notre custom post type
Avant de commencer, si vous avez une erreur 404 en essayant d’afficher votre CPT, réenregistrez les permaliens en allant dans Réglages > Permaliens. Votre problème devrait être résolu.
Suivant le thème que vous utilisez, si vous essayez de visualiser vos custom post types, il est probable que rien ne s’affiche, ou qu’il manque toutes vos taxonomies personnalisées. Pas de panique, c’est normal !
WordPress cherche en priorité le template single-slugdevotrecustomposttype.php
et, s’il ne le trouve pas, va utiliser single.php
ou un autre template par défaut, comme index.php
.
Vous trouverez la hiérarchie complète des templates sur le Codex et dans Relooker son Thème.
Il va donc falloir créer le ou les templates à utiliser.
Nous allons dans un premier temps copier-coller les fichiers single.php
et archive.php
du thème parent dans notre thème enfant, et les renommer archive-seriestv.php
et single-seriestv.php
.
Pensez bien à modifier “seriestv” par le nom de votre CPT !
Voilà ce que donne notre CPT pour la série Homeland, avec le template single-seriestv.php
:
Votre CPT est maintenant affiché, mais comme vous pouvez le voir, il manque toutes les taxonomies que nous avons créées.
Eh oui, WordPress ne peut pas deviner tout seul ce que vous avez rajouté. Il va donc falloir modifier un peu notre template pour y ajouter le code permettant d’afficher nos taxonomies.
4ème étape: l’affichage de nos taxonomies personnalisées
Pour cela, rendez-vous dans votre fichier fraîchement crée single-seriestv.php
( ou single-votretaxonomie.php
) et copiez-collez le code suivant à l’intérieur de la boucle WordPress :
Ici, on utilise la fonction the_terms( identifiant du Custom Post Type, 'nom-de-votre-taxonomie', 'Phrase de votre choix avant l'affichage' )
.
Le nom de la taxonomie utilisé dans la fonction the_terms()
est ici le nom déclaré plus haut dans la fonction register_taxonomy( 'nom-de-votre-taxonomie', 'nom-du-custom-post-type', $args )
.
Attention à bien orthographier votre taxonomie de la même manière que lorsque vous l’avez déclarée dans le fichier functions.php
. Sinon, ça ne marchera pas (méfiez-vous des accents, majuscules et espaces).
Nos taxonomies sont maintenant visibles sur la page de notre CPT :
Voilà, vous pouvez maintenant créer n’importe quel type de contenu personnalisé, avec autant de taxonomies que vous voulez, en modifiant ce code suivant vos besoins.
N’hésitez pas à styliser l’affichage avec un peu de HTML et CSS pour l’intégrer parfaitement au design de votre site.
Si vous avez besoin d’aller plus loin en termes de personnalisation de vos templates, découvrez le guide Relooker son Thème. Vous apprendrez les bases du code pour créer des fichiers de templates adaptés à vos nouveaux CPT.
Un petit ajout pour les pressés ou les feignants :
https://www.wp-hasty.com/tools/wordpress-custom-post-type-generator/
Ce générateur vous fera gagner du temps.
Excellent ! Merci
Salut Alex et merci pour tes Tutos.
petit souci, avec WP 4.7.5 et thème enfant créé avec ton utilitaire, mais le CPT ne s’affiche pas dans l’admin.
J’ai recopié tel quel ton script et je lai collé dans le function.php du thème enfant.
J’espère que tu as bien reçu mes infos sur les contenus enrichis via Messenger FB.
🙂
Patrick
Salut, il y avait une faute de frappe dans le code. Elle est corrigée et normalement tu peux copier-coller tout ça sans problème dans ton fichier functions.php.
Merci Julien, ça roule du tonnerre, maintenant il faut que je creuse pour me faire mes propres CPT.
voila le probléme que ce je trouver quand je fais tout ce que vous avez dire dans le tuto mais mahueresement je connait pas pourquoi toujours afficher ce message d’erreurs
_user_func_array() expects parameter 1 to be a valid callback, function ‘create_post_type’ not found or invalid function name in C:\wamp\www\mysiteweb\wp-includes\class-wp-hook.php on line 286
Bonjour, tu as placé le code dans quel fichier?
Bonjour, j’ai crée un CPT avec beaucoup d’attribut mais comment ne pas avoir des espaces blanc quand un ou plusieurs ne sont pas rempli
Cordialement
Bonjour. Ou sont les espaces blancs dont vous parlez?
Ne faudrait t’il mieux pas créer un custom post type dans un must use plugin comme le conseille le Codex WordPress plutôt qu dans un thème enfant ?
Bonjour, les deux sont possibles et corrects
Vraiment un grand merci pour ce tuto parfaitement commenté !
Tout fonctionne parfaitement pour moi, y compris avec Visual Composer, Polylang, des étapes pas gagnées d’avance.
Seul bug que je ne parviens pas à résoudre : le titre de mes pages ne s’affiche pas, alors qu’il est bien présent dans le champ de saisie de l’admin de mes pages.
Bien à vous
Bonjour. Cela peut dépendre de ton thème, mais tu peux l’ajouter en modifiant les templates de ton thème enfant en ajoutant la fonction the_title()
Bonsoir,
Merci pour le tuto , j’ai réussi a créer un custom type . Par contre question qui peut paraitre simple mais comment utiliser les catégories et tag “de base” (ceux que j’utilise dans mes articles ) de wp sans créer de custom taxonomy ?
merci d’avance
Phil
Bonjour, en fait tu ne peux pas. Tu dois en créer de nouvelles. Par exemple tes catégories de pages et d’articles ne sont pas les mêmes. Si tu as besoin des mêmes alors c’est que tu n’as pas besoin de Custom Post Type.
Bonjour, comment faire si je veux plusieurs custom post type, est-ce possible ?
Bonjour, tu peux en créer plusieurs, il suffit de modifier les noms à chaque fois
Hello et merci pour cet excellent article !
Petite question : Est-ce que si je créé un custom post type, je pourrais utiliser un constructeur de pages ? (ThriveArchitect en l’occurence)
Je peux l’utiliser dans mes pages et articles mais je ne sais pas si ça fonctionnera en créant un nouveau CPT.
Merci ! 🙂
Bonjour, Thrive Architect je ne crois pas. Je sais que Divi commence à supporter le Builder sur les pages de CPT mais je ne pense pas que ce soit le cas des autres pour l’instant.
Bonjour,
J’ai suivi ce tutoriel très pratique, mais je suis actuellement bloqué: je ne parviens pas à afficher mes deux CPT artistes et événements.
Je ne part pas des thèmes prédéfinis par wordpress ( twentyfifteen…) mais d’un thème qui m’est imposé.
Je pense que mon problème se situe au niveau de l’étape 3. J’utilise Template Debugger et il semble que mes fichiers single-artistes.php et
archive-artistes.php ne soient “pas lus” (de même pour single-evenements.php et archive-evenements.php)
Pourtant mes customs type / taxonomie artistes et evenements eux sont “lus”.
Quelqu’un à t-il une idée d’ou peut venir le problème?
Salut, ou as-tu placé tes fichiers?
et comment fait-on si on décide au final de supprimer le custom type ? impossible de trouver ça sur google. J’ai supprimé mes enregistrements mais le custom type est toujours présent dans mon tableau de bord
Bonjour,
Tu peux supprimer le code que tu as ajouté.
Bonjour,
Merci encore pour cet article Julien.
J’ai essayé de refaire ce que tu décris ici dans ton article et j’ai un petit souci pour afficher les Taxonomies dans la partie admin….:-(
J’ai vu dans un précédent commentaire qu’il y avait peut être une erreur de frappe dans les scripts. Pourrais tu me donner plus d’information.
Merci d’avance.
Bonjour,
quel est ton soucis?
Bonjour Julien,
Je pense que ce devait être un problème de frappe; tout est rentré dans l’ordre après quelques modifs sur la référence du Slug.
Les taxonomies ne s’affichaient pas dans la page d’admin.
Merci encore pour toutes ces informations.
Bonjour,
Est-ce que c’est possible de suivre la même procédure mais en affichant le post avec le CPT Perso dans une sidebar (titre, image a la une et texte) ?
Bonjour, ce n’est pas du la même chose donc non.
Bonjour !
Merci pour ce tutoriel, il m’a permis à la fois d’y voir plus clair sur les CPT et d’en installer, donc grand merci !
J’ai toutefois un petit problème… J’ai ajouté 2 taxonomies, j’arrive à les afficher correctement sur mon fichier “single-mon-post-type.php”, aucun probleme. Par contre, lorsque je clique sur la catégorie, j’arrive sur une page 404… J’ai bien une page d’archive avec les CPT, mais pas de pages d’archives avec les taxonomies créées… Une idée de l’origine de ce probleme ?
Bonjour, tu as exactement le même nom pour ta taxonomie et la page que tu as créé?
Essaye également de réenregistrer les permaliens au cas ou.
Bonjour,
Merci pour cet article fort utile ! Est-ce qu’il est toujours d’actualité avec la version WP 5.2 ?
Bonjour, oui c’est toujours d’actualité 😉
Bonjour,
Merci pour votre tutoriel !
J’ai un site internet avec des concepts (promenades, activité en soirée, etc) répartis entre différentes villes.
Est ce qu’un taxonomie « Concept » (principale) et une taxonomie « Ville » suffisent ou il faut nécessairement créer un CustomPostType ?
Sachant que la structure sera :
Page Accueil > Concept > Ville > Articles (les articles en fonction du concept et de la ville)
Bonne journée !
Bonjour, c’est mieux de créer des Custom Post Types 😉
Merci beaucoup, ça m’a beaucoup aidé !
J’ai cependant une question.
Je voudrais pouvoir utiliser ces nouvelles “pages” avec Elementor. Comment faire ?
Par ailleurs, est-ce possible de retrouver l’encadré que l’on peut avoir sur une création normale de page, qui permet de choisir le modèle de page ?
Merci beaucoup !
Bonjour, avec Elementor tu peux créer des modèles de pages de tes CPT, et donc afficher l’encadré si tu le souhaites en choisissant le modèle de page qui te convient.
C’est bien d’induire les gens en erreurs BRAVO!!! Première étape: créer le CPT en copiant du code dans functions.php?!? RTFM
https://developer.wordpress.org/plugins/post-types/registering-custom-post-types/
Lire le panneau orange et vous comprendraient pourquoi il ne faut surtout pas mettre une fonctionnalité dans le thème.
Bonjour, ça n’est pas forcément une erreur. Si tu ne changes pas de thème ça marche très bien et si tu changes de thème il suffit de copier-coller le code dans ton nouveau fichier functions.php. Donc pas besoin de plugin.
Bonjour,
j’ai bien suivi la procédure mais autant mes taxonomies sont visibles dans la partie “admin -> modification rapide”, autant elles ne le sont pas dans la “modification normale”, une idée? merci d’avance et bravo pour le tutoriel
Bonjour
Dans un premier temps merci pour le travail fournis a faire ce tuto qui est vraiment genial!!! je debute tout juste dans le developpement
ce que vous presentez dans ce tuto est magique!
Je suis vraiment tout pret du but je bloque cependant a la dernière etape.
Lorsque vous demandez de copier coller les fichiers single.php et archives.php du theme parent, je ne les trouve pas!
J’ai pourtant bien cherche, impossible de mettre la main dessus.
je suis bloque je ne sais pas trop quoi faire
vous avez peut etre une petite idee? je vous remerci
Bonjour,
tu as forcément ces fichiers dans le dossier de ton thème. Attention, il faut aller les chercher dans le thème parent.
bonjour merci pour ce tuto
j’aimerais ajouter un deuxieme custom post type. j’ai collé a nouveau le code en dessous et l’ai renommé mais sa ne fonctionne pas .
y’aurait il svp quelque chose a faire de special ou a ajouter?
merci
Bonjour, tu as renommé le nom de la fonction aussi?
Oui j’ai renommé la fonction et ca a fonctionné merci!!!
Cependant j’ai le meme soucis que chris juste au dessus, les taxonomies n’apparaissent pas dans modification normale.
Et lorsque je les rentre dans modification rapide, elles n’apparaissent toujours pas dans la visualisation de l’article.
Bonjour, tu veux dire qu’elles n’apparaissent pas sur les articles?
Salutations et merci pour ces précisions.
Je cherche en vain dans les tréfonds du web une solution pour pouvoir éditer le permalien d’un CPT en fenêtre d’édition, comme on le ferait sous le titre d’un post classique qui présente le champs texte dédié au titre de l’article, puis en dessous l’aperçu du permalien généré (et éditable).
Sur ma fenêtre d’édition de CTP, je ne vois que le champs de titre et le permalien dédié est absent. Ai-je louper quelque chose d’évident ?
Merci beaucoup et à bientôt.
Bonjour, je vais regarder si je peux ajouter ça.
comment wordpress sait quil faut aller chercher single_seriestv ?
Bonjour, c’est automatique dans le cœur de WordPress, il va aller d’abord chercher un fichier avec le nom du CPT, ensuite s’il ne le trouves pas le fichier single.php normal et ainsi de suite jusqu’à index.php 😉
Bonjour,
il manque ” ‘show_in_rest’ => true,” dans les args de l’année,
sinon super tuto
Merci
Eric
Merci c’est ajouté 😉
Bonjour et bonne année
Dans le thème 2020 il n’y a pas de page single, j’ai donc pris celle de 2019, et pour placer les taxonomies où je voulais j’ai dupliqué template-parts/content en content-seriestv et le fait appeler depuis single-seriestv (ces 2 là sont dans le child)
Qu’en penses tu ?
il y a-t-il une bonne pratique à utiliser ?
Merci
Bonjour Éric,
la structure de TwentyTwenty est un peu différente.
Effectivement il n’y a pas de fichier single.php . Il est remplacé par le fichier singular.php qui appelle le template content.php situé dans le dossier /template-parts . C’est celui qu’il faut éditer.
Bonne journée
Merci Virginie,
j’avais testé mais cela ne fonctionnait pas, car je n’avais pas créé de dossier template-parts dans le child j’y avais juste mis le fichier content-seriestv
maintenant étape supplémentaire faire la meme chose mais à partir du front. Auriez-vous des pistes à me proposer ?
Merci et bonne journée.
Eric
Bonjour Eric, malheureusement je ne peux pas t’aider plus sans voir en détail 🙁 Nous ne faisons pas de support personnalisé. Bonne journée
Bonjour, quelle différence il y a t il entre un “taxonomy” =>”serietv” définie dans les arguments de la création d’un custom post type et une fonction register_taxonomy définissant tous les labels et arguments pour la taxonomy “serietv” ? Puisque les deux fonctionnent ?
merci
Bonjour selon moi il s’agit uniquement de la manière de l’aborder via le plugin ou via le code. Lorsque tu utilises l’interface du plugin, il y a forcement une action code derrière. Je n’ai pas vérifié laquelle est-ce, mais ce doit être sensiblement la même chose que la fonction citée. Belle journée
Super ça, merci beaucoup !
Est-ce que c’est plus avantageux de passer directement par le code comme dans ta méthode plutôt que d’utiliser les plugins Custom Post Type UI et ACP ? En tous cas ça m’a l’air bien plus simple comme ça 😊 !
Si ensuite je veux filtrer selon plusieurs critères le contenu de mon nouveau type de post, est-ce que tu aurais un conseil ?
Mille mercis !
Bonjour Emilie, tu voulais dire ACF (Advanced Custom Fields) peut-être? En tous cas c’est comme tu veux pour l’utilisation, personnellement je préfère utiliser CPT UI et ACF. Si tu utilises Elementor il y a une super combinaison pour faire des filtres croisés et affichage dynamique du contenu : https://www.youtube.com/watch?v=f1tN4em56uA. Le tuto est un peu long mais c’est réapplicable à toutes les situations. Bonne journée
Merci beaucoup pour ce tuto très complet et qui FONCTIONNE ! Youpi 😉
Bonjour, pour la dernière étape lorsqu’on crée notre “single-votretaxonomie.php”, le code que tu nous donne, il faut le copier coller ( en remplaçant seriestv par nos cpt ) mais on le colle à quel endroit ? On remplace tout le texte ?
Bonjour, le dernier code (avec la fonction the_terms) est à coller tout en bas, à la suite du ode existant, de ton fichier “single-votretaxonomie.php”.
Bonjour, j’utilise le thème divi et je voulais savoir si c’était normal que mon thème ne comporte pas de fichier archive.php ?
Bonjour si le template n’est pas présent au démarrage, tu peux regarder cette manip pour ajouter un template archive à ta page ce qui devrait ajouter le fichier : https://www.elegantthemes.com/blog/resources/an-introduction-to-wordpress-page-templates
d’abord merci pour ce tutoriel , par contre.
Comment vous faites pour rajouter un lien sur la page “tous mes cpt”
à la place de “modifier”, “Modification rapide”,”Corbeille”, “Afficher”
Merci pour cet article. ça m’a vraiment aidé
Bonjour
Question de béotien, comment ça se passe avec les mises à jour de wordpress et les thèmes utilisés ? Rien à faire ou remettre le code à chaque fois ?
Thème enfant obligatoire ?
C’est pour estimer si je me lance dans l’apprentissage des CPT, je ne vais modifier le code à chaque mise à jour.
merci
Bonjour, si tu le crées dans un thème enfant tu n’aurais rien à faire 😉
Merci pour ce tuto très clair qui prend le temps de bien expliquer ! C’est parfait pour comprendre une partie des imbrications et le fonctionnement wordpress quand on a un bagage encore léger en php
Bjr merci pour ta vidéo 🙂
J’ai actuellement un site (environ 5000pages) sous Drupal, et tous est classer par Taxonomie, et par Type de contenue (Livres/Vidéos/Sites…).
Et je souhaiterai migré sur WOrpress, parcque Drupal là bon, il est quasi abandonné…. 🙁
Plugin mort, Page Builder inexistant, Bug majeur de pire en pire…..
Pour se faire avec le Plugin que tu cite (Custom personal type UI) et DIVI, tu pense que je peux migré facilement???
Thx.
Bonjour, il te faudra cette extension : https://fr.wordpress.org/plugins/fg-drupal-to-wp/
Bonjour
Est ce que ce tuto est toujours valable ? je ne vois pas de date de MAJ ou de publication.
Merci !
Bonjour, oui c’est toujours valable.
Bonjour,
je pense que vous avez oubliez d’expliquer comment lister toutes les séries TV
Il faudrait rajouter dans le code :
function custom_posts_per_page( $query ) {
if ( $query->is_archive(‘serieetv’) ) {
set_query_var(‘posts_per_page’, 1);
}
}
add_action( ‘pre_get_posts’, ‘custom_posts_per_page’ );
Merci Valentin !
Est ce que l’on peu déplacer des articles de wordpress déjà rédigés dans les nouveaux cpt ?
Bonjour, oui avec l’extension Post Type Switcher.
add_action(‘init’, ‘wpm_add_taxonomies’, 0);
//On crée 3 taxonomies personnalisées: Année, Réalisateurs et Catégories de série.
function wpm_add_taxonomies()
{
// Taxonomie Année
// On déclare ici les différentes dénominations de notre taxonomie qui seront affichées et utilisées dans l’administration de WordPress
$labels_annee = array(
‘name’ => _x(‘Années’, ‘taxonomy general name’),
‘singular_name’ => _x(‘Année’, ‘taxonomy singular name’),
‘search_items’ => __(‘Chercher une année’),
‘all_items’ => __(‘Toutes les années’),
‘edit_item’ => __(‘Editer l année’),
‘update_item’ => __(‘Mettre à jour l année’),
‘add_new_item’ => __(‘Ajouter une nouvelle année’),
‘new_item_name’ => __(‘Valeur de la nouvelle année’),
‘separate_items_with_commas’ => __(‘Séparer les réalisateurs avec une virgule’),
‘menu_name’ => __(‘Année’),
);
$args_annee = array(
// Si ‘hierarchical’ est défini à false, notre taxonomie se comportera comme une étiquette standard
‘hierarchical’ => false,
‘labels’ => $labels_annee,
‘show_ui’ => true,
‘show_in_rest’ => true,
‘show_admin_column’ => true,
‘query_var’ => true,
‘rewrite’ => array(‘slug’ => ‘annees’),
);
register_taxonomy(‘annees’, ‘seriestv’, $args_annee);
// Taxonomie Réalisateurs
$labels_realisateurs = array(
‘name’ => _x(‘Réalisateurs’, ‘taxonomy general name’),
‘singular_name’ => _x(‘Réalisateur’, ‘taxonomy singular name’),
‘search_items’ => __(‘Rechercher un réalisateur’),
‘popular_items’ => __(‘Réalisateurs populaires’),
‘all_items’ => __(‘Tous les réalisateurs’),
‘edit_item’ => __(‘Editer un réalisateur’),
‘update_item’ => __(‘Mettre à jour un réalisateur’),
‘add_new_item’ => __(‘Ajouter un nouveau réalisateur’),
‘new_item_name’ => __(‘Nom du nouveau réalisateur’),
‘separate_items_with_commas’ => __(‘Séparer les réalisateurs avec une virgule’),
‘add_or_remove_items’ => __(‘Ajouter ou supprimer un réalisateur’),
‘choose_from_most_used’ => __(‘Choisir parmi les plus utilisés’),
‘not_found’ => __(‘Pas de réalisateurs trouvés’),
‘menu_name’ => __(‘Réalisateurs’),
);
$args_realisateurs = array(
‘hierarchical’ => false,
‘labels’ => $labels_realisateurs,
‘show_ui’ => true,
‘show_in_rest’ => true,
‘show_admin_column’ => true,
‘update_count_callback’ => ‘_update_post_term_count’,
‘query_var’ => true,
‘rewrite’ => array(‘slug’ => ‘realisateurs’),
);
register_taxonomy(‘realisateurs’, ‘seriestv’, $args_realisateurs);
// Catégorie de série
$labels_cat_serie = array(
‘name’ => _x(‘Catégories de série’, ‘taxonomy general name’),
‘singular_name’ => _x(‘Catégories de série’, ‘taxonomy singular name’),
‘search_items’ => __(‘Rechercher une catégorie’),
‘popular_items’ => __(‘Catégories populaires’),
‘all_items’ => __(‘Toutes les catégories’),
‘edit_item’ => __(‘Editer une catégorie’),
‘update_item’ => __(‘Mettre à jour une catégorie’),
‘add_new_item’ => __(‘Ajouter une nouvelle catégorie’),
‘new_item_name’ => __(‘Nom de la nouvelle catégorie’),
‘add_or_remove_items’ => __(‘Ajouter ou supprimer une catégorie’),
‘choose_from_most_used’ => __(‘Choisir parmi les catégories les plus utilisées’),
‘not_found’ => __(‘Pas de catégories trouvées’),
‘menu_name’ => __(‘Catégories de série’),
);
$args_cat_serie = array(
// Si ‘hierarchical’ est défini à true, notre taxonomie se comportera comme une catégorie standard
‘hierarchical’ => true,
‘labels’ => $labels_cat_serie,
‘show_ui’ => true,
‘show_in_rest’ => true,
‘show_admin_column’ => true,
‘query_var’ => true,
‘rewrite’ => array(‘slug’ => ‘categories-series’),
);
register_taxonomy(‘categoriesseries’, ‘seriestv’, $args_cat_serie);
}