register_taxonomy()
Définition : register_taxonomy() déclare une taxonomie WordPress en indiquant son identifiant, les types de contenus concernés et ses paramètres. Elle fournit un système de classement réutilisable, hiérarchique ou non, pour organiser les publications.
Terminologie
Terme officiel : register_taxonomy()
Autres appellations : Déclaration de taxonomie
À quoi cela sert
Cette fonction définit la structure d’un système de classification et son intégration à l’administration. Les paramètres déterminent notamment visibilité publique, hiérarchie, exposition REST et capacités de gestion.
Comment cela fonctionne
Elle est appelée à init ou après. Les contenus peuvent être associés via les fonctions de gestion des termes. La taxonomie peut être reliée à plusieurs types de publication, mais une relation cohérente suppose que ces types soient correctement enregistrés.
Dans quel contexte l’utiliser
À utiliser lors du développement d’un plugin qui doit offrir des familles de classement indépendantes des catégories habituelles.
Exemple concret
Un catalogue de formations souhaite une taxonomie Niveaux, qui réunit Débutant, Intermédiaire et Avancé.
Exemple de code commenté
<?php
add_action( 'init', function () {
register_taxonomy( 'atoolpha_niveau', array( 'post' ), array(
'label' => 'Niveaux',
'public' => true,
'hierarchical' => false,
'show_in_rest' => true,
'rewrite' => array( 'slug' => 'niveau' ),
) );
} );
Explication pas à pas de l’exemple
register_taxonomy() installe le système de classification atoolpha_niveau sur les articles. hierarchical false l’apparente au fonctionnement des étiquettes. Les termes et leurs associations seront gérés ensuite par l’administration ou des API dédiées.
Résultat attendu
Les rédacteurs peuvent attribuer des niveaux aux articles et WordPress peut produire des archives de termes selon les options de visibilité retenues.
Précautions et limites
La clé de taxonomie doit être unique et respecter la limite documentée. Enregistrer systématiquement les taxonomies au bon moment et vérifier leur exposition publique.
À ne pas confondre
register_taxonomy() crée la structure ; wp_insert_term() ajoute un terme concret dans cette structure.
Termes associés
- Custom Taxonomy
- WP_Term
- register_post_type()
