La question est "Quelle est la différence entre les taxonomies hiérarchiques et non hiérarchiques?" Cette question m'a vraiment surpris au début, alors j'ai pensé que ce serait une bonne idée de montrer la différence aux autres internautes cherchant la distinction surfer sur le site.
Plus précisément, la question fait référence à l' hierarchical
argument transmis à la register_taxonomy()
fonction. Plus précisément, quelle est la différence entre ceci:
'hierarchical' => false
register_taxonomy('movie-genre', 'movie', array(
'hierarchical' => false,
'label' => 'Genre',
'query_var' => 'movie-genre',
'rewrite' => array('slug' => 'genres' ),
));
Et ça?
'hierarchical' => true
register_taxonomy('movie-genre', 'movie', array(
'hierarchical' => true,
'label' => 'Genre',
'query_var' => 'movie-genre',
'rewrite' => array('slug' => 'genres' ),
));
Remarque: je vais répondre à ma propre question, mais je ne la marquerai pas comme meilleure si personne d'autre n'offre une très bonne réponse également. De plus, mon instinct me dit que je n’aurais peut-être pas réussi à saisir toutes les distinctions entre les deux dichotomies. Sinon, laissez-nous savoir ce que j’ai manqué.
la source
Réponses:
La réponse simple est que les termes des taxonomies hiérarchiques peuvent avoir des termes enfants . Mais quoi d'autre?
'hierarchical' => false
Lorsque vous spécifiez un,
'hierarchical'=>false
vous obtenez le type de métabox suivant, qui est le format de métabox que WordPress utilise également pour les balises de publication :'hierarchical' => true
Toutefois, lorsque vous spécifiez,
'hierarchical'=>true
vous obtenez le type de métabox suivant, qui est le format de métabox que WordPress utilise également pour les catégories :Bien entendu, l'exemple ci-dessus montre également que la catégorisation hiérarchique peut être un peu un mélange, car dans la vie réelle, les sous-catégories s'appliquent souvent à de nombreuses catégories parentes. Même si «beaucoup de parents» n’est pas la façon dont les taxonomies hiérarchiques fonctionnent dans WordPress, IMO classer parfaitement quoi que ce soit est presque impossible, quel que soit le fonctionnement de WordPress. Alors Caveat Emptor!
Enregistrement sur taxonomie personnalisée ou "Pourquoi ne pas enregistrer?"
Bien que cela ne soit pas directement lié à la question de savoir si vous êtes un débutant en train d'essayer des taxonomies personnalisées ( ou un développeur expérimenté qui ne prête pas attention à ce qui m'est arrivé quand j'ai écrit ça! ), Il est probable que vous essayiez d'ajouter
register_taxonomy()
du code vous voyez dans la question directement dans lefunctions.php
fichier de votre thème . Oops!Si vous ajoutez le code directement dans
functions.php
votre métabox, les termes que vous venez d'ajouter ne seront pas sauvegardés (et sous la'heirarchical'=>true
forme du métabox, vos termes existants ne seront pas chargés avec des cases à cocher.) C'est parce que vous devez enregistrer des taxonomies personnalisées ( et types de publication personnalisés) dans uninit
crochet, comme suit:J'espère que cela t'aides!
la source