Taxonomies avec Extended CPT
Le T32B utilise la librairie Extended CPTs pour déclarer et configurer les taxonomies (catégories, types, thématiques, etc.) de manière plus lisible et maintenable que les fonctions natives WordPress.
📘 Documentation : https://github.com/johnbillion/extended-cpts/wiki
Pourquoi Extended CPTs ?
Extended CPTs permet notamment de :
- Déclarer les taxonomies avec une configuration claire et expressive
- Associer facilement une taxonomy à un ou plusieurs post types
- Activer la compatibilité Gutenberg / REST API via
show_in_rest - Améliorer l’administration (meta box, filtres, tri, etc.)
- Versionner et centraliser la configuration dans le code
Organisation
Dans le T32B, on déclare 1 taxonomy par fichier. Chaque fichier retourne l’appel à register_extended_taxonomy(...).
Les fichiers doivent être mis dans le dossier app/Configurations/Taxonomies
Création via la ligne de commande
La création d’une nouvelle taxonomy se fait via la ligne de commande :
bash
wp acorn t32b:taxonomy EventTypeCette commande génère :
- un fichier de déclaration dans Configurations/Taxonomies
- un squelette de configuration Extended CPT
- une structure conforme aux conventions du projet
Exemple
php
return register_extended_taxonomy('custom-cpt_type', 'custom-cpt', [
'show_in_rest' => true,
'hierarchical' => true,
'has_archive' => false,
'meta_box' => 'simple',
// Filtres dans la liste d’admin (si applicable)
'admin_filters' => [
'event_type' => [
'title' => 'Event Type',
],
],
// Permet de trier les termes (ordre manuel)
'sort' => true,
], [
'singular' => 'Event Type',
'plural' => 'Event Types',
]);Bonnes pratiques
- 1 taxonomy = 1 fichier
- Nom (slug) stable et explicite (event_type, project_category, etc.)
- Associer clairement la taxonomy au(x) post type(s)
- Activer show_in_rest si elle est utilisée dans Gutenberg / REST API
- Utiliser hierarchical selon le besoin (tags vs catégories)
- Éviter toute logique métier dans ces fichiers (configuration uniquement)