Taxonomien führen WordPress über eine einfache Blogging-Plattform hinaus in die Bereiche eines CMS.
Aber wie werden sie in der Datenbank gespeichert??
Taxonomien und Begriffe sind eine leistungsstarke WordPress-Funktion, mit der Sie Ihren Websites mehr Flexibilität verleihen können. Sie beziehen sich auf zwei andere Inhaltstypen: Beiträge und Links. Die Datenbankstruktur bedeutet, dass es sich um eine Eins-zu-Viele-Beziehung handelt, bei der ein Beitrag mehrere Begriffe in mehreren Taxonomien enthalten kann und ein Begriff mehreren Beiträgen oder zugewiesen werden kann Links.
Ich beginne damit, sie zu definieren. Wie so viele Dinge in WordPress kann die Terminologie verwirrend sein!
Eine Taxonomie ist ein System zum Kategorisieren oder Klassifizieren von Dingen, normalerweise hierarchisch. Die bekannteste Taxonomie ist die Linneanische Taxonomie, mit der Lebewesen klassifiziert werden.
In WordPress werden Taxonomien verwendet, um Ihre Daten zu klassifizieren und in Mengen und Teilmengen zu gruppieren.
WordPress enthält drei integrierte Taxonomien:
Kategorien und Tags sind ein bisschen wie Posts und Seiten, da sie vom gleichen Inhaltstyp (Taxonomien) sind, sich jedoch standardmäßig anders verhalten, da Kategorien hierarchisch sind und Tags nicht.
Die Linkkategorie-Taxonomie funktioniert ähnlich wie Tags und könnte theoretisch für jeden Objekttyp verwendet werden. Standardmäßig wird sie jedoch nicht im Nachbearbeitungsbildschirm angezeigt und im Linkbearbeitungsbildschirm angezeigt, wenn Verknüpfungen aktiviert wurden.
Sie können mit benutzerdefinierten Taxonomien auch beliebig viele zusätzliche Taxonomien hinzufügen. Diese verhalten sich dann ähnlich wie Kategorien und Tags und haben Begriffe. Jede Ihrer Taxonomien hat dann den gleichen Status wie eine der integrierten Taxonomien. Dies ähnelt in gewisser Weise einem Vergleich zwischen Beiträgen und benutzerdefinierten Beitragstypen.
Jede Taxonomie enthält Begriffe, die Sie zum Sortieren Ihrer Daten verwenden. Eine Kategorie ist nur ein Begriff in der Kategorie Taxonomie, und ein Tag ist ein Begriff in der Tag-Taxonomie. Wenn Sie Taxonomien erstellen, erstellen Sie Begriffe für Ihre Taxonomien entweder über das WordPress-Dashboard oder über die Funktion wp_insert_term ().
Begriffe können in Kombination mit benutzerdefinierten Abfragen sehr leistungsfähig sein: Sie können in Ihren Designs oder Plugins benutzerdefinierte Vorlagendateien erstellen, um Posts mit mehreren Begriffen anzuzeigen, nach Begriffen zu sortieren, Begriffe in Taxonomien zu identifizieren und vieles mehr.
Wie ich im Tutorial zu Beziehungen zwischen Daten beschrieben habe, verwendet WordPress eine Viele-zu-Viele-Beziehung. Diese Beziehung wird mithilfe von drei Tabellen erstellt:
wp_term_relationships
wp_term_taxonomy
wp_terms
Diese Tabellen werden unten zusammen mit den Tabellen gezeigt, mit denen sie verknüpft sind, wp_posts
und wp_links
:
Lassen Sie uns einen Blick auf die einzelnen Tabellen und deren Funktionsweise werfen.
Das wp_terms
Tabelle speichert alle einzelnen Begriffe für Ihre Kategorien, Tags, Link-Kategorien und benutzerdefinierte Taxonomien. Es hat nur vier Felder:
term_id
ist die eindeutige ID für den BegriffName
Schnecke
term_group
ist ein Feld, das derzeit nicht von WordPress verwendet wird, sodass Sie es ignorieren können.Das wp_term_taxonomy
Tabelle speichert mehr Daten zu Begriffen sowie zu den Taxomien, zu denen sie gehören. Es hat sechs Felder:
term_taxonomy_id
speichert eine ID für den Datensatz in dieser Tabelleterm_id
steht für die ID des Begriffs, verbunden mit seinem Datensatz in WP_TERSTaxonomie
ist der Name der Taxonomie, in der sich der Begriff befindetBeschreibung
Elternteil
bezieht sich auf den übergeordneten Begriff des Begriffs, wenn die Taxonomie hierarchisch ist und einen hatAnzahl
ist die Anzahl der Beiträge mit dem BegriffIn vielen WordPress-Installationen gibt es einen Eintrag in der wp_term_taxonomy
Tabelle für jeden Begriff in der wp_terms
Tabelle, aber in einigen Fällen haben Sie mehr als einen Datensatz für jeden Begriff. Dies geschieht, wenn Sie zwei Begriffe mit demselben Namen und Slug in verschiedenen Taxonomien erstellen. Dies bedeutet, dass Sie eine Abfrage erstellen können, um Beiträge mit diesem Begriff in mehreren Taxonomien auszugeben.
Dies bedeutet, dass die Beziehung zwischen diesen beiden Tabellen Eins-zu-Viele ist: ein Datensatz in der wp_terms
Tabelle kann mit mehreren Datensätzen im verknüpft werden wp_term_taxonomy
Tabelle, aber jeder Datensatz in wp_term_taxonomy
ist nur mit einem Datensatz in verknüpft wp_terms
.
Das wp_term_relationships
Tabelle ist entscheidend, um die Viele-zu-Viele-Beziehung zwischen Objekten und Begriffen herzustellen. Es hat nur drei Felder:
Objekt Identifikation
ist verbunden mit post_id
in dem wp_posts
Tisch oder link_id
in dem wp_links
Tabelleterm_taxonomy_id
ist mit dem gleichen Feld in der wp_term_taxonomy
Tabelleterm_order
ist die Reihenfolge, in der Begriffe zu einem Objekt hinzugefügt wurden. Wird nur verwendet, wenn Sie das Sortierargument bei der Registrierung der Taxonomie als wahr angegeben haben. Der Standardwert ist false und der Standardwert für dieses Feld ist 0.Weil jedes Objekt mit mehreren Datensätzen in der Datenbank verknüpft werden kann wp_term_relationships
Tabelle, und so kann jeder Begriff, so entsteht die Viele-zu-Viele-Beziehung.
Die Beziehung zwischen Objekten (d. H. Posts und Links) und Begriffen ist eine sehr starke Beziehung, zum Teil weil es die einzige Viele-zu-Viele-Beziehung ist, die von WordPress verwendet wird.
Wenn Sie wissen, wie diese Beziehung funktioniert und wo die Schlüsseldaten gespeichert sind, können Sie die Funktionsweise von Taxonomien und Begriffen verstehen und die damit verbundenen Funktionen verwenden.