Der Titel sagt alles. Im Moment bekomme ich in meinen benutzerdefinierten Taxonomien die Begriffe mit dem Begriff id und taxonomy name.
Dachte, diese Frage wäre schon vorher gestellt worden, kann sie aber nirgends finden! Ich dachte nur, ich würde fragen, ob jemand Antworten hat.
Wenn Sie in die WordPress-Dokumentation schauen, finden Sie WordPress Taxonomies
Der Codex sagt:
Was bedeutet das?
Ein Begriff ist ein Wort. Es kann zu einer Taxonomie gehören, z. B. zu Tags, Kategorien oder einer benutzerdefinierten Taxonomie. Die Sache ist: Es kann mehrere Taxonomien geben, die den gleichen Begriff enthalten.
Nehmen wir an, Sie haben einen Begriff namens “Mast”. Dieses Wort hat eine ID-Nummer. Dies ist der Begriff_id. Es kommt nicht darauf an, wie dieses Wort verwendet wird, dh in welchen Taxonomien der Begriff erscheint.
Jetzt hat das Wort “Mast” als Post-Tag auch eine Nummer. Dies ist der Term_taxonomy_id. Es entspricht “dem Post-Tag” Mast “”.
Vielleicht haben Sie auch eine Kategorie namens “Mast”. Während der Term_id gleich ist, ist der Begriff_taxonomy_id für “die Kategorie” Mast “” anders.
Da dies Teil eines größeren Verständnisses des Designs ist, werde ich es als Ganzes beschreiben … 🙂
In WP 4.5.3 gibt es noch all diese Tabellen (ich werde ohne Präfix darüber sprechen):
Der Pfad, um die lesbaren Namen der Post-Terme zu erhalten, geht alle durch.
Beiträge
Der Hauptidentifizierer ist ID
– eine ID eines Posts (egal welcher Art)
term_relationships
speichert Paare von:
object_id
– kann posts.ID
(muss aber nicht sein)
term_taxonomy_id
– dies ist NICHT die ID eines Begriffs (Kategorie), sondern eine ID der BEZIEHUNG zwischen einem Begriff (Kategorie) und einer Taxonomie (“Kategorie-Typ”)
term_taxonomie
Der Hauptidentifizierer ist hier der term_taxonomy_id
^ oben
weitere wichtige Spalten:
term_id
– eine ID eines Begriffs (Kategorie)
taxonomy
– speichert die taxonomy
des Begriffs (“Kategorietyp”)
Dies mag lustig erscheinen, aber die ursprüngliche Absicht war, die Fähigkeit für Begriffe zu erweitern, um mehr Taxonomien zu haben (was in manchen Fällen Sinn ergeben kann).
Begriffe
Der Hauptidentifizierer ist hier der term_id
– eine ID einer Kategorie
Weitere wichtige Spalten sind hier:
name
– lesbarer Kategoriename zB “Music Genres”
slug
– der Slug eines Begriffs, der zB in URL verwendet werden kann
Also das brutale Demonstrieren von SQL zu
Erhalte alle veröffentlichten Posts und alle ihre Kategorien mit den Namen der Kategorien
könnte so aussehen (Hinzufügen von Präfixen zu Tabellen beim Testen auf Ihrer eigenen WP-database):
SELECT * FROM posts #gets posts LEFT JOIN term_relationships #gets posts relationships to term_taxonomies ON(posts.ID=term_relationships.object_id) LEFT JOIN term_taxonomy #gets term_ids ON(term_relationships.term_taxonomy_id=term_taxonomy.term_taxonomy_id) LEFT JOIN terms #finally, gets terms' names ON(term_taxonomy.term_id=terms.term_id) WHERE ( (posts.post_status='publish') #optionally you can filter by a certain post_type: #AND #(posts.post_type='some_post_type') ) ORDER BY posts.ID ASC
Ein Begriff ist keine Kategorie oder ein Tag für sich. Es muss Kontext über die Tabelle term_taxonomy gegeben werden.
Die term_taxonomy-Tabelle platziert einen Begriff innerhalb einer Taxonomie. Dies macht einen Begriff zu einer Kategorie , einem Tag oder Teil einer benutzerdefinierten Taxonomie (oder zu einer Kombination von Taxonomien).
term_id
ist die ID eines Terms in der Terms-Tabelle.
term_taxonomy_id
ist eine eindeutige ID für das Begriff + Taxonomie-Paar.
Die term_id
ist immer genau wie die term_taxonomy_id
. Beide haben ein Auto Increment
in der Tabellenstruktur.
Die Tabelle wp_term_taxonomy
stellt sicher, dass zum Beispiel eine Kategorie erstellt wird, so dass WordPress diese beeinflussen kann, zB Woocommerce verwendet: product_tag
, product_type
, product_cat
, alle von ihnen sind die sogenannten benutzerdefinierten Taxonomien. Diese Tabelle bindet auch die Eltern / Kinder-Struktur. Mit seinem parent
.
Die finale Tabelle term_relationships verknüpft Objekte wie Posts oder Links mit einer term_taxonomy_id aus der term_taxonomy-Tabelle.
Wenn wir als Beispiel wieder Woocommerce auswählen, verbindet diese Tabelle products
product_cat
mit ihrer Taxonomie product_cat
, die eine product_cat
, zB Computer, enthält, die natürlich aus der Tabelle wp_terms
abgerufen wp_terms
. Diese Tabelle enthält die term_id
, ” name
, ” slug
und ” term_group
. (term_group habe ich persönlich noch nie benutzt)
Hoffentlich macht das Obige die Dinge ein wenig klarer über die Unterschiede und wie WordPress diese Tabellen verwendet.