✅ WEB- und WordPress-Nachrichten, Themen, Plugins. Hier teilen wir Tipps und beste Website-Lösungen.

WordPress-Metadatenzuordnung: Zugehörige Entitäten

6

An dieser Stelle haben wir behandelt, wie die Entitäten innerhalb des Plugins erstellt werden (was, wie gesagt, nur ein schickes Wort für eine andere konkrete Idee ist). Wir haben nämlich einen Benutzer und einen benutzerdefinierten Beitragstyp oder ein Buch. Und hier fangen wir an, die beiden getrennten Entitäten zu nehmen und zu kombinieren und damit zu arbeiten, was wir WordPress-Metadatenzuordnung nennen werden.

Aber bevor Sie dies tun, ist es wichtig, die zwei Arten von Metadaten zu verstehen, mit denen wir arbeiten werden, und die zwei Arten (oder drei Arten, je nachdem, wie Sie es betrachten), wie wir die Metadaten verknüpfen können.

Wie bei den anderen Posts in der Reihe soll dies kein tiefer Einblick in das Verständnis der einzelnen Tabellen oder ein tiefer Einblick in die einzelnen API-Funktionen sein. Stattdessen werden wir untersuchen, was verfügbar ist, sie verwenden und feinere Details für zukünftige Posts (oder vielleicht Diskussionen in den Kommentaren) hinterlassen.

WordPress-Metadaten-Verknüpfung

Metadaten sind nicht exklusiv für WordPress. Sie kennen das wahrscheinlich. Und es wird oft definiert als :

Informationen über Informationen oder Daten über Daten.

Und das ist eine gute Art, es auszudrücken. WordPress bietet einige verschiedene Datenbanktabellen, die wir verwenden können, um Informationen über bestimmte andere Arten von Entitäten innerhalb von WordPress bereitzustellen. Wir werden ein paar davon später in diesem Beitrag verwenden, aber es genügt zu sagen, dass WordPress Folgendes bietet :

  • Kommentar-Metadaten,
  • Metadaten posten,
  • Begriff Metadaten,
  • und Benutzermetadaten

Und all dies ist out-of-the-box verfügbar.

Eine der WordPress-Metadatentabellen.

Die APIs für jedes davon sind konsistent, was auch schön ist. Aber auch hier werden wir uns für den Rest dieses Beitrags nur mit ein paar davon befassen.

1 Die Metadatentabellen

Für unser Beispiel verwenden wir eine oder beide der folgenden zwei Tabellen:

  1. wp_postmeta
  2. wp_usermeta

Zugegeben, in Ihrer Installation haben sie möglicherweise ein anderes Präfix, aber das Suffix ist dasselbe, und Sie verstehen, worauf es ankommt.

Zweitens verwenden wir die zugehörigen API-Funktionen zum Zuordnen unserer Metadaten. Wir sehen uns diese im Code an, wenn wir die Daten zwischen unserem Benutzer und dem benutzerdefinierten Beitragstyp (oder unserem Autor und unseren Büchern, wenn Sie die genauere Terminologie verwenden möchten) verknüpfen.

Alles klar. Dieser ganze erste Teil des Beitrags legt nur einige Grundlagen dafür, welche Teile der zugrunde liegenden WordPress-Infrastruktur wir verwenden werden. Sehen wir uns nach all dem an, wie wir dieses Ding programmatisch in etwas Nützlicheres verwandeln können.

2 Zuordnen von Metadaten

Die Idee hinter der Zuordnung von WordPress-Metadaten klingt komplizierter als sie ist. Denk darüber so:

  • Wie können wir bei zwei Tabellen Informationen zwischen zwei Entitäten austauschen, die eine über die andere informieren?

Wie können wir zum Beispiel bei einem gegebenen Benutzer die Metadaten des Benutzers über Post-Metadaten informieren? Oder umgekehrt, wie können wir Post-Metadaten etwas über verwandte Benutzer-Metadaten mitteilen?

WordPress-Metadatenzuordnung: Zugehörige Entitäten

Auf hoher Ebene ist das wirklich das, was wir tun: Wir lassen eine Entität wissen, dass die andere existiert, und wir setzen sie mit der anderen in Beziehung. Oder es könnte anders laufen. Abhängig von Ihrer Implementierung kann die eine vorteilhafter sein als die andere.

1 Einweg

Wenn wir über das Erstellen von unidirektionalen WordPress-Assoziationen sprechen, sprechen wir normalerweise über die Idee, dass nur eine Entität die andere kennt. Dies bedeutet, dass der Benutzer möglicherweise nur den Beitrag wahrnimmt.

So könnten wir nach dem Erstellen eines Beitrags so einrichten, dass der betreffende Benutzer den gerade erstellten Beitrag kennt :

Oder vielleicht bedeutet es, dass der Beitrag dem Benutzer bekannt ist:

Aber egal wie man es betrachtet, die Assoziation geht nur in eine Richtung.

Und obwohl die Beziehung in eine Richtung geht, muss es nicht so sein. Das heißt, beide Entitäten können sich voneinander bewusst sein.

2 Zweiwege

Da die Arbeit mit den Metadaten-APIs so einfach und konsistent ist, ist es nicht schwer, mit ihnen zu arbeiten. Jede der erfordert normalerweise mindestens zwei der folgenden:

  1. eine Art ID, auf die sich die Metadaten beziehen,
  2. ein Metaschlüssel, mit dem die Informationen nachgeschlagen werden können,
  3. ein Wert, der Informationen speichert, die der ID und dem Beitrag zugeordnet sind.

Welche ID und welchen Schlüssel Sie wählen, hängt, wie wir gesehen haben, oft von Ihrer Implementierung ab.

Bis zu diesem Punkt haben wir uns angesehen, wie man eine unidirektionale Assoziation erstellt. Eine Zwei-Wege-Assoziation ist nichts anderes. Anstatt eine Entität auf die andere aufmerksam zu machen, machen wir beide Entitäten auf die andere aufmerksam:

Aber das ist keine Entscheidung, die nur um der Sache willen getroffen werden sollte. Stattdessen lohnt es sich, über einen Grund nachzudenken, warum Sie sich für das eine oder andere entscheiden sollten.

Das Problem durchdenken

Wenn es darum geht, Probleme wie dieses zu lösen, gibt es keine endgültige Lösung im Sinne von „Sie sollten es [so] endgültig angehen”, wie auch immer das sein mag. Stattdessen müssen Sie sich Fragen stellen wie „Was macht das aus? einfachste Weg, diese Daten zu verwalten?”

Wenn Sie beispielsweise hauptsächlich an der Benutzerverwaltung interessiert sind, brauchen Sie vielleicht nur Benutzermetadaten, die wissen, zu welcher Entität sie gehören. Auf diese Weise stellen Sie beim Löschen des Benutzers auch sicher, dass Sie die zugehörigen Entitäten über die Benutzermetadatentabelle nachschlagen und diese ebenfalls löschen.

In ähnlicher Weise würde vielleicht dieselbe Funktionalität in beide Richtungen gehen. Das heißt, genauso wie Sie sicherstellen möchten, dass beim Löschen eines Benutzers auch seine Posts gelöscht werden, möchten Sie möglicherweise auch, dass der Benutzer gelöscht (oder geändert) wird, wenn einer seiner Posts entfernt wird. Und wenn das der Fall ist, lässt die Zwei-Wege-Assoziation dies zu.

Da Sie die ID eines bestimmten Beitrags und die ID eines bestimmten Benutzers sowie die von Ihnen angegebenen Metaschlüssel haben, ist nahezu jede Art von Abfrage möglich, die Sie entweder über die WordPress-Metadaten-API oder WP_Query oder sogar über WP_User_Query abbilden können .

Das Ende

Letztendlich hoffe ich, dass diese Serie einen Einblick gegeben hat, wie man nicht nur WordPress-Metadatenzuordnungen erstellt, sondern auch, wie man abstrakt über Konzepte innerhalb von WordPress nachdenkt, wenn es um die Erstellung von Implementierungen auf höherer Ebene in Ihren Plugins und Ihren Webanwendungen geht.

Für diejenigen, die daran interessiert sind, erwäge ich, diese Serie als kleine Ressource im PDF-Format zusammen mit einem funktionierenden Plugin zum Lernen herauszugeben. Wenn Sie daran interessiert sind, dann melden Sie sich bitte hier für die Mailingliste an, und ich werde Sie sicher informieren, wenn sie fertig ist; Verwenden Sie andernfalls die Informationen in der Serie, um voranzukommen und etwas Wertvolles zu schaffen

Mehr wollen?

Serienbeiträge

  1. WordPress-Metadatenzuordnung: So geht’s
  2. Programmatisches Erstellen von WordPress-Benutzern
  3. WordPress-Beitragstypen: Eine Abstraktion für Entitäten
  4. WordPress-Metadatenzuordnung: Zugehörige Entitäten

Aufnahmequelle: tommcfarlin.com

Diese Website verwendet Cookies, um Ihre Erfahrung zu verbessern. Wir gehen davon aus, dass Sie damit einverstanden sind, Sie können sich jedoch abmelden, wenn Sie möchten. Annehmen Weiterlesen