Die Frage lautet: "Was ist der Unterschied zwischen hierarchischen und nicht-hierarchischen Taxonomien?" Diese Frage hat mich anfangs wirklich verblüfft und ich dachte, es wäre eine gute Idee, den Unterschied anderen zu zeigen, die auf der Website nach dem Unterschied suchen.
Insbesondere bezieht sich die Frage auf hierarchical
das an die register_taxonomy()
Funktion übergebene Argument . Was ist der Unterschied zwischen diesen:
'hierarchisch' => falsch
register_taxonomy('movie-genre', 'movie', array(
'hierarchical' => false,
'label' => 'Genre',
'query_var' => 'movie-genre',
'rewrite' => array('slug' => 'genres' ),
));
Und das?
'hierarchisch' => wahr
register_taxonomy('movie-genre', 'movie', array(
'hierarchical' => true,
'label' => 'Genre',
'query_var' => 'movie-genre',
'rewrite' => array('slug' => 'genres' ),
));
Beachten Sie, dass ich meine eigene Frage beantworten werde, sie aber nicht als die beste bezeichnen werde, es sei denn, niemand anderes gibt eine wirklich gute Antwort. Mein Bauchgefühl sagt mir auch, dass ich möglicherweise nicht jede Unterscheidung zwischen den beiden Dichotomien getroffen habe. Wenn nicht, lassen Sie uns bitte wissen, was ich verpasst habe.
quelle
Antworten:
Die einfache Antwort lautet, dass Terme in hierarchischen Taxonomien untergeordnete Terme haben können . Aber was noch?
'hierarchisch' => falsch
Wenn Sie eine angeben, erhalten
'hierarchical'=>false
Sie den folgenden Metabox-Typ, der das Metabox-Format ist, das WordPress auch für Post-Tags verwendet :'hierarchisch' => wahr
Wenn Sie jedoch angeben, erhalten
'hierarchical'=>true
Sie den folgenden Metabox-Typ, der das Metabox-Format ist, das WordPress auch für Kategorien verwendet :Das obige Beispiel zeigt natürlich auch, wo hierarchische Kategorisierung ein bisschen uneinheitlich sein kann, da in der Realität Unterkategorien oft auf viele übergeordnete Kategorien zutreffen. Trotzdem "viele Eltern" zuzulassen ist nicht die Funktionsweise hierarchischer Taxonomien in WordPress, aber IMO ist es fast unmöglich, alles perfekt zu kategorisieren, unabhängig davon, wie WordPress funktioniert. Also Vorbehalt Emptor!
Bei der benutzerdefinierten Taxonomie-Registrierung oder "Warum wird nicht gespeichert?"
Auch wenn dies nicht direkt mit der Frage zusammenhängt, ob Sie ein Neuling sind, der benutzerdefinierte Taxonomien ausprobiert, oder ein erfahrener Entwickler, der nicht genau darauf achtet, wie es mir bei meinem Verfassen passiert ist, ist es wahrscheinlich, dass Sie versuchen werden,
register_taxonomy()
den Code hinzuzufügen Sie sehen in der Frage direkt in derfunctions.php
Datei Ihres Themas . Hoppla!Wenn Sie den Code direkt in
functions.php
Ihre Metabox einfügen, wird angezeigt, die neu hinzugefügten'heirarchical'=>true
Begriffe werden jedoch nicht gespeichert (und in Form der Metabox werden die vorhandenen Begriffe nicht mit Kontrollkästchen geladen.) Dies liegt daran, dass Sie benutzerdefinierte Taxonomien registrieren müssen ( und benutzerdefinierte Post-Typen) in eineminit
Hook wie folgt:Hoffe das hilft!
quelle