In dieser Serie werfen wir einen Blick auf die WordPress-Taxonomien, ihre Definition, wann sie verwendet werden und wie sie in unsere Themen integriert werden können. Um sicherzustellen, dass wir dies so detailliert wie möglich behandeln, nähern wir uns dies aus der Perspektive eines Anfängers.
Wie bereits im ersten Beitrag der Serie erwähnt, richtet sich diese Serie nicht nur an Anfänger. Vielleicht sind Sie ein fortgeschrittener WordPress-Entwickler, der in neue APIs verzweigen und neue Funktionen in Ihre Arbeit integrieren möchte, und Taxonomien sind genau das Richtige für Sie.
In jedem Fall tun wir alles, um sicherzustellen, dass Sie mit so vielen Informationen wie möglich ausgestattet sind, wenn Sie benutzerdefinierte Taxonomien in Ihre WordPress-Projekte integrieren möchten.
Bevor wir uns eine konkrete Umsetzung der Einführung von Taxonomien ansehen, müssen wir über einige der Herausforderungen sprechen, die sich aus der Integration von Taxonomien in unsere Arbeit ergeben.
Sollen Taxonomien speziell in ein Thema oder in ein Plugin eingefügt werden? Diese Frage ist eigentlich eher eine Frage "Warum sollten wir Taxonomien auf diese Weise einbeziehen?" und "wann sollten wir Taxonomien auf diese Weise einbeziehen?"
Um dies zu beantworten, ist es wichtig, zwischen den zwei Optionen, die wir haben, und der Art und Weise, wie Daten gespeichert werden, zu unterscheiden.
Lassen Sie uns zuerst diskutieren, wie Taxonomien intern in WordPress gespeichert werden. Taxonomien bestehen aus zwei Komponenten: einer Taxonomie und einem Begriff.
Wenn Sie beispielsweise an Postformate denken, ist dies die Taxonomie Post-Format und die Bedingungen sind Standard, Video, Bild, Verknüpfung, und so weiter. Ebenso kann eine andere Taxonomie sein Fotografie und die Bedingungen können sein Film und Digital.
Im einfachsten Fall ist die Standard-WordPress-Taxonomie und Term-Paarung die Standardeinstellung Kategorie und Nicht kategorisiert das wird bei jeder installation mitgeliefert.
Von hier aus ist es wichtig zu verstehen, wie diese Daten in der WordPress-Datenbank verwaltet werden. Es gibt drei Datenbanktabellen, die jeweils eine Rolle in der Beziehung zwischen Taxonomien und den zugehörigen Begriffen spielen.
Angenommen, Sie arbeiten mit der Standardinstallation (das Tabellenpräfix lautet also) wp_
), dann haben Sie jeweils die folgenden Tabellen mit den entsprechenden Verantwortlichkeiten:
wp_terms
repräsentiert die Begriffe, die zu verschiedenen Taxonomien gehören. Dies bedeutet, wenn Sie eine haben Fotografie Taxonomie mit zwei Begriffen Film und Digital und Sie haben eine Taxonomie aufgerufen Art mit Farbe und Schwarz und weiß also Begriffe sein Film, Digital, und Farbe werden alle innerhalb der wp_terms
Tabelle.wp_term_taxonomy
ist eine Datenbanktabelle, die für das Speichern der Beschreibung der in der Datenbank gespeicherten Begriffe verantwortlich ist wp_terms
Tabelle. Sagen Sie zum Beispiel, Sie haben eine Farbe Begriff und der Begriff wird als "Fotografien beschrieben, die in kräftigen Farben entwickelt werden." Dann würde diese Beschreibung in der wp_term_taxonomy
Tabelle.wp_term_relationships
ist wohl derjenige, der die größte Lernkurve für neue Entwickler hat. In dieser Tabelle wird der Zusammenhang zwischen den Taxonomien und den Buchungstypen beibehalten. Bei einer Standardinstallation speichert diese Tabelle beispielsweise die Beziehung zwischen dem Kategoriebegriff und jedem Beitrag, dem er zugeordnet ist.Nachdem wir nun verstanden haben, wie Daten gespeichert werden, können wir diskutieren, wann Taxonomien im Kontext von Themen und in Plugins sinnvoll sind.
Im Allgemeinen gilt als Faustregel, dass WordPress-Designs für die Darstellung von Daten und Plugins für die Funktionalität gedacht sind. Das heißt, Designs bieten das Format für das Erscheinungsbild der Daten und Plugins erweitern die Kernfunktionen von WordPress.
Es gibt auch den Begriff Erweiterungen, die themenspezifischen Plugins und Plugin-spezifischen Plugins ähneln. Dies ist jedoch nicht Gegenstand dieses Artikels. Lassen Sie uns zunächst die Diskussion auf der Ebene der Themen und Plugins beibehalten.
Angenommen, Sie arbeiten an einem Thema und möchten eine benutzerdefinierte Taxonomie in das Thema einfügen. Im Einklang mit unseren Beispielen, die in der gesamten Serie verwendet werden, möchten wir ein Portfolio-Thema erstellen und einführen ein Fotografie Taxonomie. Schließlich wird das Thema den Benutzern ermöglichen, ihre Arbeit zu präsentieren.
Nehmen wir an, Sie möchten in etwa einem Jahr an demselben Thema arbeiten, aber Sie möchten ein umfangreiches Upgrade durchführen. Vielleicht möchten Sie die Taxonomien verallgemeinern, damit die Leute sie nicht verwenden müssen gerade für die Fotografie. Stattdessen können sie es für kurze Gedichte oder Schriften, Zeichnungen usw. verwenden.
Das Problem ist, dass Sie jetzt die haben Fotografie Die Taxonomie ist so fest in das Thema eingebettet, dass jeder, der es verwendet und installiert, diese Taxonomie erhält, unabhängig davon, ob sie die Fotografie präsentieren möchten oder nicht.
Sicher, es ist durchaus möglich, das Thema von Grund auf neu aufzubauen und die Taxonomiefunktion in etwas allgemeineres zu abstrahieren, aber was passiert für die Benutzer, die ein Upgrade durchführen möchten? Verlieren sie die Daten, mit denen sie Monate oder Jahre gearbeitet haben? Wie werden ihre Daten organisiert? Bleiben sie bei der aktuellen Version des Themas, mit dem sie arbeiten?
Wenn Sie an einem Thema wie diesem arbeiten, gibt es natürlich viel zu überlegen. Hier kommt es jedoch darauf an, Präsentation und Funktionalität zu segmentieren.
Es ist durchaus möglich, ein Thema zu erstellen, das die Arbeit in einem Portfolio-Stil präsentiert, ohne dass irgendeine Art von Taxonomie in das Thema geschrieben werden muss. Bauen Sie stattdessen die Funktionalität in ein Plugin ein und installieren Sie das Plugin dann neben dem Design, mit dem Sie erstellen. Sie erhalten dann die Vorteile der Portfolio-Präsentation, ohne dass Benutzer Ihr Theme für einen längeren Zeitraum verwenden und möglicherweise ihre Daten verlieren, wenn Sie ein neues Theme aktualisieren.
Aus vielen der oben genannten Gründe ist es leicht einzusehen, warum die Implementierung benutzerdefinierter Taxonomien im Kontext von Plugins sinnvoll ist.
Dies bedeutet nicht, dass dies niemals in Themen gemacht werden sollte. Immerhin da sind Nischenthemen, die auf ein sehr spezifisches Publikum abzielen und den Kunden eine All-in-One-Lösung bieten möchten. Das ist in Ordnung, aber wenn Sie diese Funktionalität mit der größtmöglichen Attraktivität einführen möchten, ist es sehr sinnvoll, die Funktionalität in ein Plugin zu integrieren.
Sie haben nicht nur den Vorteil, dass Benutzer ihre Daten von Thema zu Thema portieren können, ohne die Kategorisierung ihrer Daten zu verlieren, sondern auch, dass sie die Unabhängigkeit zwischen der Darstellung ihrer Daten und dem Speicher erhalten können ihrer Daten.
Wenn Sie ein Theme-Entwickler sind, können Sie trotzdem an der Erstellung von Designs arbeiten, die speziell für das Plugin entworfen wurden. Vielleicht möchten Sie ein Thema für Fotografen anbieten, eines für Schriftsteller und eines für Künstler. Mit dieser Strategie können Sie immer noch einen bestimmten Markt erobern, während Ihr Plugin mit den Variationen Ihrer Arbeit kompatibel ist. So können Sie sich mit verschiedenen Themen befassen und Ihren Kunden die Möglichkeit geben, zwischen den Themen zu wechseln während Sie Ihre Produkte noch verwenden.
Nachdem wir die Verwaltung von Taxonomien in der Datenbank durch WordPress überprüft haben und einige Gründe untersucht haben, warum Themen und Plugins zusammenarbeiten sollten, um bestimmte Funktionen anzubieten, werden wir uns ansehen, wie wir können Erstellen Sie ein eigenes Plugin, das benutzerdefinierte Taxonomiefunktionen implementiert, die wir in dieser Serie als Beispieldaten verwendet haben.
In der Zwischenzeit können Sie Kommentare, Fragen oder allgemeines Feedback in das Kommentarfeld eingeben.