Gleiche Taxonomie für verschiedene Objekttypen

Ab WP 2.3 können wir das machen:

register_taxonomy('custom_taxonomy', array('user', 'post', 'link', 'comment')); 

Dies sind verschiedene Objekttypen, die zu verschiedenen Tabellen gehören und daher dieselbe Primärschlüssel-ID haben können. Wenn wir uns nun die functionen ansehen, die zum Abrufen oder Überprüfen von Termen verwendet werden, fehlt ihnen der Parameter object_type.

 is_object_in_term( $object_id, $taxonomy, $terms = null ); wp_get_object_terms( $object_ids, $taxonomies, $args ); 

Tatsächlich gibt es in der Tabelle term_relationships überhaupt keinen Verweis auf den Objekttyp, und Sie erhalten für Objekte mit denselben IDs falsche positive Ergebnisse. Wie kann man das reparieren?

Solutions Collecting From Web of "Gleiche Taxonomie für verschiedene Objekttypen"

Dies sind verschiedene Objekttypen, die zu verschiedenen Tabellen gehören und daher dieselbe Primärschlüssel-ID haben können.

-> Obwohl dies verschiedene Typen sind, werden alle in einer Tabelle gespeichert, dh wp_posts mit post_type = die verschiedenen Typen. Überprüfen Sie die Tabellenstruktur auf Übersichtlichkeit. Es wird also keinen identischen ID-Konflikt geben.

Wenn wir uns die functionen ansehen, die zum Abrufen oder Überprüfen von Termen verwendet werden, fehlt ihnen der Parameter object_type.

-> Dies wird nicht benötigt. Wenn wir das Objekt selbst haben, können WordPress-functionen besser den zugehörigen Typ aus der DB bestimmen.

Tatsächlich gibt es in der Tabelle term_relationships überhaupt keinen Verweis auf den Objekttyp, und Sie erhalten für Objekte mit denselben IDs falsche positive Ergebnisse.

-> Das ist auch eine falsche Annahme. Es gibt eine klare Beziehung zwischen den Tabellen müssen die Kategorisierungen in WordPress verwalten. Hier ist ein Snap, der Beziehungen erklärt. Bildbeschreibung hier eingeben