wake-up-neo.com

Wie registriere ich Kindertaxonomien?

  1. Soll ich Eltern und Kind als 'hierarchical' => true registrieren, wenn es kein Enkelkind gibt?

  2. Wenn "Movie" die Taxonomie der obersten Ebene ist, ist es bei der Registrierung eines Kindes so einfach wie: 'parent_item' => __( 'Parent Movie' )?

  3. Wie ordne ich einem Beitrag automatisch eine Kindertaxonomie zu? Bisher habe ich herausgefunden, wie eine Taxonomie einem Post zugewiesen werden kann. Funktioniert dies jedoch gut mit der Taxonomie für Kinder? wp_set_object_terms($post_ID, $cat, 'category');

  4. Wenn ich eine Elterntaxonomie abfrage, wird das Kind in die Ergebnisse einbezogen oder nicht?

  5. Funktionieren die Taxonomien weiterhin, wenn sie nicht in der args von register_post_type aufgeführt sind?

1
Jenny

Zu viel für einen Kommentar, deshalb lasse ich ihn für eine Antwort:

  1. Sie fragen eine Menge Fragen, die eigentlich unterschiedliche Fragen sein sollten und nicht in eine einzige gesteckt werden.
  2. (Anzeige 1.) Sie registrieren keine Taxonomien für "Kinder" oder "Eltern". Sie fügen einer hierarchischen Taxonomie (untergeordnete) Begriffe über die WP Back-End-Benutzeroberfläche hinzu. Sie können dies programmgesteuert mit wp_set_post_terms(); , wp_set_object_terms(); oder anderen Funktionen tun. Dies ist jedoch interner und schwieriger zu handhaben, da Sie bei jeder Anforderung überprüfen müssen, ob sie bereits vorhanden ist oder nicht (DB-Abfragen werden hinzugefügt). Es wird daher nicht empfohlen, dies bei der Themenaktivierung zu tun, solange dies nicht möglich ist WP bietet dort keinen Haken an.
  3. (Anzeige 4.) Sie können mehrere Taxonomien gleichzeitig abfragen, wie im WP_Query-Artikel im Codex angegeben. Dies fragt die Taxonomie und alle zugewiesenen Beiträge ab. Sie können auch nach Begriffen suchen, die sich in einer hierarchischen Taxonomie befinden. Es gibt jedoch keine "Kindertaxonomien". Nur "Kind" -Begriffe. Sie können diese untergeordneten Begriffe zu Ihren tax_query-Argumenten hinzufügen. Etwas wie if is child of kann mit Funktionen wie get_term_children(); ausgeführt werden. Wenn Sie eine Verknüpfung zu einem Termarchiv herstellen, können Sie die Abfrage (Suche in WPSE) so ändern, dass auch untergeordnete Terme einbezogen werden.
  4. (Ad 3.) Wie in anderen Antworten und Kommentaren zu einigen Ihrer anderen Fragen angegeben, müssen Sie Dinge wie save_post und ähnliches einbinden. Hier auf WPSE finden Sie genügend Antworten, die Ihnen zeigen, wie. Du bist nah dran.
  5. (Ad 2.) Sie mischen Beschriftungen mit tatsächlichen Argumenten. Die Argumente parent_item und parent_item_colon dienen zum Festlegen Ihres benutzerdefinierten Texts und können keine untergeordneten Taxonomien registrieren. Sie werden nur verwendet, um den Standardtext zu ändern, der in der Benutzeroberfläche des Administrators angezeigt wird.

Nebenbemerkungen:

  • Bitte kümmern Sie sich um Ihre alten Qs. Wir hatten wirklich Probleme, die Anzahl der offenen und unbeantworteten Fragen zu verringern. Sie sollten zurückgehen und versuchen, an Ihren offenen Fragen zu arbeiten, die Antworten haben.
  • Richtige Formatierung wird sehr geschätzt. Die Antwortenden investieren ihre Zeit und Beratung kostenlos, um Ihnen bei der Lösung Ihres Problems zu helfen. Bitte geben Sie sich die gleiche Mühe, um ein Q zu fragen und zu formulieren.
  • Seien Sie höflich in Ihren Kommentaren zu einer Antwort. Dies wird a) den Antwortenden motivieren, weitere Hilfe anzubieten, und b) dies ist ein offenes Q/A-Format, und Ihr Q soll anderen Benutzern später helfen, zu vermeiden, dass Sie dasselbe Q erneut fragen, und stattdessen einfach Ihr Q und die entsprechenden Antworten lesen. Sehen Sie Ihr Verhalten beim Fragen und Kommentieren als etwas wie Ihre "Visitenkarte".
2
kaiser

Wenn Sie eine Taxonomie als hierarchical=>true registrieren, wird sie zu einer Kategorie und Sie können Eltern-Kind-Beziehungen innerhalb dieser Taxonomie bilden. Wenn Sie dagegen eine Taxonomie als hierarchical=>false registrieren, wird sie zu einem Tag, dh, es gibt keine Eltern-Kind-Beziehungen. Möglicherweise müssen Sie die ID eines Begriffs abrufen, die Funktion term_exists verwenden und dann wp_insert_term verwenden, um einen neuen Begriff mit dem übergeordneten Element als einzufügen Die ID, die Sie mit term_exists erhalten haben.

4