In einer aktuellen Serie haben wir alle darüber gesprochen, wie wir mit Metadaten für einige der wichtigsten Klassen in WordPress arbeiten können.
Dies beinhaltete:
In der gesamten Serie haben wir uns ein wenig darüber unterhalten, wie WordPress 4.4 die Idee der Begriff-Metadaten einführte. Ich wollte das Konzept nicht im Zusammenhang mit dieser Serie präsentieren, weil es darauf ankam, etwas zu verstehen, was Anfängern oft ein wenig Ärger macht.
Das ist, was diese Serie soll ansprechen.
In WordPress passen die Begriffe Taxonomien und Begriffe zusammen. Ich werde in einem Moment darauf näher eingehen. Aber um richtig mit Term-Metadaten arbeiten zu können, ist es meines Erachtens wichtig, Taxonomien, Begriffe und deren Beziehungen zu verstehen. Wie sonst können wir ein durchgehendes Verständnis dessen haben, was wir tun, wenn wir auf programmatischer Ebene mit ihnen arbeiten?
In dieser Folgeserie mit zwei Artikeln werfen wir einen Blick auf Taxonomien, ihre Rolle, ihre Rolle in WordPress und ihre Beziehung zu Begriffen. Dann richten wir unser Augenmerk auf die Begriffe und die Verwendung der neuen Metadaten-API für Begriffe.
Wenn Sie die vorige Serie noch nicht gelesen haben, empfehle ich, dies zu tun, da dadurch die Grundlagen dafür geschaffen werden, wie die API funktioniert, die wir untersuchen werden. Wenn Sie sich jedoch dafür entscheiden, dies nicht zu tun, ist das in Ordnung. Diese Serie sollte alles abdecken, was Sie wissen müssen.
Wie im Codex definiert:
In WordPress ist eine "Taxonomie" ein Gruppierungsmechanismus für einige Beiträge (oder Links oder benutzerdefinierte Beitragstypen)..
Zugegeben, es ist kein Wort, das Sie oft hören, und manchmal werden andere verwirrt, wenn Sie über Taxonomien und Begriffe sprechen. Das heißt, sie verwenden einen Beispielsatz als Beispiel für eine Taxonomie, aber was sie tun, ist in diesem Fall ein Begriff. Ich werde das kurz ansprechen.
Einfach ausgedrückt, stellen Sie sich Taxonomien als eine Möglichkeit vor, Dinge zusammenzufassen. WordPress wird mit zwei Taxonomien ausgeliefert: Kategorien und Stichworte. Wir werden jeden Moment ausführlicher darüber sprechen.
Nun, zumindest in Bezug auf WordPress gibt es einen Vorbehalt: Taxonomien können hierarchisch oder nicht hierarchisch sein. Das häufigste Beispiel für die obige Idee ist folgendes:
Und das ist der Unterschied zwischen hierarchischen und nicht-hierarchischen Taxonomien. Es ist einfach, nicht wahr? Diejenigen, die Kinder unterstützen, sind wie Kategorien hierarchisch. Diejenigen, die keine Kinder unterstützen, wie z. B. Tags, sind nicht hierarchisch.
Bei der Arbeit, die wir in dieser Serie machen werden, spielt dies keine besondere Rolle, als dass wir uns ein tieferes Verständnis darüber verschaffen, was diese Sprache im Zusammenhang mit unseren Entwicklungsanstrengungen bedeutet.
Wenn wir anfangen, diese Entitäten programmgesteuert zu erstellen und ihnen Metadaten hinzuzufügen, sollte es keine Verwirrung darüber geben, was wir tun.
Wir haben Taxonomie definiert, aber was ist mit Begriffen? Aus dem Kodex:
In WordPress ist ein Begriff eine Klassifizierung, Gruppe oder Teilmenge einer Taxonomie, wobei letztere eine Kategorie, ein Tag oder eine benutzerdefinierte Taxonomie sein kann. Begriffe haben standardmäßig einen Titel, einen Slug und eine Beschreibung. Hierarchische Taxonomien wie Kategorien können einen übergeordneten Begriff definieren.
In Anbetracht dessen, was wir bisher besprochen haben, sollten wir genau das erwarten. Das heißt, Begriffe sind mit Taxonomien verbunden. Begriffe haben jedoch einige bemerkenswerte Aspekte, von denen wir wissen sollten, insbesondere wenn wir sie erstellen oder programmgesteuert damit arbeiten.
Das heißt, die Begriffe setzen sich zusammen aus:
Wenn Sie mit einer hierarchischen Taxonomie wie einer Kategorie arbeiten, kann der Begriff optional einen übergeordneten Begriff enthalten.
Um klar zu sein, das bedeutet nicht, dass eine Taxonomie keine Informationen enthält. Eine Taxonomie erfordert beispielsweise einen Namen, einen Posttyp, dem sie zugeordnet ist, und eine Reihe von Argumenten, die außerhalb des Bereichs von liegen diese Artikel. Im nächsten Artikel werden wir jedoch mehr darüber erfahren.
Die Beziehung zwischen Taxonomien und Begriffen ist etwas symbiotisch, was bedeutet, dass einer ohne den anderen nicht existieren kann. Dies gilt insbesondere für hierarchische Taxonomien.
Zunächst bietet der WordPress-Codex für Interessierte ein Diagramm zur Erläuterung der Beziehung:
Beispielsweise haben Sie möglicherweise eine Kategorie Taxonomie, aber Sie müssen mindestens einen Begriff haben. Aus diesem Grund wird WordPress standardmäßig ausgeliefert Nicht kategorisiert Begriff.
Andererseits ist es möglich, eine Etikett Taxonomie, aber keine Tags in der Datenbank vorhanden.
Aber können wir als Entwickler noch einen Schritt weiter gehen? Das heißt, obwohl alle diese Programme programmgesteuert erstellt werden können, haben Benutzer die Möglichkeit, sie auch zu erstellen und hinzuzufügen. Zumindest, wenn die Benutzeroberfläche ihnen eine Option bietet, dies zu tun.
Ein typisches Beispiel: Wenn Sie sich die WordPress-Benutzeroberfläche ansehen, können wir alle Kategorien und Tags erstellen.
Wenn Sie jedoch Programmierer sind und bestimmte Taxonomien und Begriffe in der Datenbank festverdrahtet haben möchten, haben Sie die Möglichkeit, dies zu tun und Benutzer daran zu hindern, sie über die Benutzeroberfläche hinzuzufügen oder zu entfernen.
Wir haben die Definitionen von Taxonomien und Begriffen sowie die Unterschiede zwischen ihnen dargelegt, aber es bleibt eine Frage: Warum brauchen wir Term-Metadaten? Oder, alternativ, was ist der Punkt der Metadaten?
Das ist eine gute Frage, und es ist wahrscheinlich ein wesentlicher Grund, warum diese Funktion erst in WordPress 4.4 eingeführt wurde. Interessanterweise wurde das Ticket für diese Funktion vor mehr als sechs Jahren eingeführt. Der Hauptgrund für das Ticket (direkt von Trac selbst) lautet:
Derzeit gibt es keine spezielle Möglichkeit, zusätzliche Daten für die Taxonomie zu speichern. Plugin-Entwickler müssen eine eigene Methode zum Speichern dieser Daten entwickeln, z. indem Sie sie im Beschreibungsfeld codiert speichern oder set_option () verwenden. Es ist gut, neue Funktionen dafür hinzuzufügen, z. add_taxonomy_data () / get_taxonomy_data ().
Wenn Sie ein erfahrener WordPress-Entwickler sind, ist dies absolut sinnvoll. Aber wir sind noch nicht alle auf diesem Niveau, so dass wir uns nicht sicher sind, welche Vorteile uns dies bringt.
Wie bei allen anderen APIs können wir Informationen zu allen in der Datenbank vorhandenen Begriffen speichern. Dies kann sich auf den Zeitpunkt beziehen, zu dem der Begriff erstellt wurde, wer den Begriff erstellt hat, oder wie viele Posts mit einem bestimmten Begriff versehen sind, oder es ermöglicht uns, ein Bild mit einem Begriff zu verknüpfen.
Da es ein beliebiges Maß an Informationen unterstützt, sind die Möglichkeiten extrem groß, was wir mit diesen Informationen tun können. Und im nächsten Artikel werden wir genau das sehen.
An diesem Punkt sollten Sie über alles verfügen, was Sie wissen müssen, um mit Taxonomien und Begriffen zu arbeiten. Sicherlich werden Sie den Codex wahrscheinlich ein paar Mal durchlesen müssen, wenn Sie an einem Plugin, einem Design oder einer benutzerdefinierten Lösung für einen Client arbeiten. Dies ist jedoch selbst für einen erfahrenen Entwickler nicht ungewöhnlich.
Im nächsten Artikel wird beschrieben, wie mit Term-Metadaten gearbeitet wird. Insbesondere werden wir Beispielcode betrachten, ihn mit einem der Standarddesigns in WordPress verbinden und die Datenbank überwachen, während wir Änderungen vornehmen.
Wenn Sie sich für WordPress, die Softwareentwicklung oder die Schnittmenge der beiden interessieren, sollten Sie auf meine Profilseite achten, die Links zu allen Kursen und Tutorials enthält, die ich bei Envato Tuts veröffentlicht habe+.
Zweitens, zögern Sie nicht, mir auf Twitter unter @tommcfarlin zu folgen, wo ich oft über WordPress spreche und Ressourcen teile, oder folge meinem Blog, wo ich täglich über meine Arbeit mit WordPress oder Themen schreibe, die tangential verwandt sind dazu.
Wenn Sie nach anderen Dienstprogrammen suchen, die Ihnen dabei helfen, Ihre wachsenden Tools für WordPress aufzubauen, oder um Code zu lernen, der sich mit WordPress auskennt, sollten Sie nicht vergessen, was wir in Envato Market zur Verfügung haben.
Zögern Sie bitte nicht, unten Fragen oder Kommentare zu hinterlassen, und ich werde alles tun, um auf jeden einzelnen von ihnen zu antworten.