Verstehen und Arbeiten mit Metadaten in WordPress

In dieser Serie haben wir uns bisher die wichtigsten Inhaltstypen in WordPress angesehen. Aber was ist mit den zusätzlichen Daten zu all dem Inhalt?? 

Hier kommen Metadaten ins Spiel.

Wie bereits in einem früheren Teil dieser Serie beschrieben, enthält WordPress vier Hauptinhaltstypen, die in vier Datenbanktabellen gespeichert werden:

  • Beiträge
  • Benutzer
  • Bemerkungen
  • Links

Den ersten drei davon können auch Metadaten zugewiesen werden, und für jede dieser Tabellen ist eine eigene Metadatentabelle in der Datenbank vorhanden, in der diese gespeichert werden.

Was sind Metadaten??

Metadaten können als Daten zu Daten bezeichnet werden. Wikipedia definiert zwei Arten von Metadaten:

Strukturelle Metadaten befasst sich mit dem Design und der Spezifikation von Datenstrukturen und wird besser als "Daten über die Datencontainer" bezeichnet; beschreibende Metadaten, Auf der anderen Seite geht es um einzelne Instanzen von Anwendungsdaten, deren Dateninhalt.

Nach dieser Definition verwendet WordPress beschreibende Metadaten. Was wir als Daten in WordPress definieren und was als Metadaten definiert werden kann, ist etwas verschwommen und entspricht nicht direkt dem, was in den Metadatentabellen gespeichert ist. Zum Beispiel:

  • Für Beiträge, Post-Typ ist ein Beispiel für Metadaten, das jedoch im gespeichert wird wp_posts Tabelle
  • Taxonomiebegriffe, Kategorien und Tags können auch lose als Metadaten definiert werden, diese werden jedoch vollständig separat in ihren eigenen Datenbanktabellen gespeichert.
  • Post-Metadaten wie benutzerdefinierte Felder und zusätzliche Metadaten, die über Plugins hinzugefügt werden, werden im gespeichert wp_postmeta Tisch, wie man es erwarten würde.

Daher ist es einfacher, sich Metadaten in WordPress nicht nach der strengen Definition des Begriffs, sondern nach den in den drei Metadatentabellen gespeicherten Daten vorzustellen.

Die Metadatentabellen

WordPress verwendet drei Datenbanktabellen für Metadaten:

  • wp_postmeta speichert Metadaten zu Beiträgen (einschließlich Anhängen, Navigationsmenüelementen und Revisionen)
  • wp_commentmeta speichert Metadaten zu Kommentaren
  • wp_usermeta speichert Metadaten über Benutzer

Der einzige Objekttyp in WordPress, der keine Metadaten hat, ist der Link.

Die Metadatentabellen sind alle insofern nahezu identisch, als sie nur vier Felder haben:

  • ID ist die ID des Beitrags, des Benutzers oder des Kommentars, auf den sich die Metadaten beziehen
  • Meta-ID bezieht sich auf die ID des Metadatensatzes
  • Schlüssel ist der Metaschlüssel (der häufig zwischen verschiedenen Datensätzen dupliziert wird)
  • Wert ist der Meta-Wert (der tendenziell eindeutig ist)

WordPress kann diese Struktur verwenden, um große Mengen von Metadaten mit einer einfachen Struktur zu speichern. Dies bedeutet, dass die Funktionen, die Sie zum Anzeigen und Abfragen von Metadaten für Beiträge, Benutzer und Kommentare verwenden, sehr ähnlich sind.

Von WordPress gespeicherte Metadaten

Die Metadaten, die in einer einzelnen WordPress-Installation gespeichert sind, unterscheiden sich von denen, die in einer anderen Installation gespeichert sind, da Plugins und Designs eigene Metadaten hinzufügen können. In einigen Sites müssen Sie bestimmte Metadaten definieren, in anderen dagegen nicht. 

Aber werfen wir einen Blick auf einige der häufigsten Arten von Metadaten:

  • Benutzerdefinierte Felder. Diese gelten für Beiträge, die also im gespeichert sind wp_postmeta Tabelle. Sie können sie über die Standardoberfläche "Benutzerdefinierte Felder" hinzufügen oder indem Sie in den Nachbearbeitungsfenstern eigene Metaboxen erstellen. Dies kann besonders nützlich sein, wenn Sie möchten, dass Benutzer einem bestimmten Beitragstyp Metadaten hinzufügen können und die Benutzeroberfläche so benutzerfreundlich wie möglich gestaltet werden soll.
  • Benutzermetadaten. Das wp_usermeta In einer Tabelle werden Metadaten zu den meisten Benutzern gespeichert, z. B. Rollen, Funktionen, Dashboard-Einstellungen und sogar Vor- und Nachname.
  • Metadaten, die von Plugins und Designs hinzugefügt wurden. Plugins mit Kommentarfunktion wie Akismet fügen der Metadaten hinzu wp_commentmeta Tabelle, während Plugins, mit denen Sie Metadaten zu Beiträgen hinzufügen können, z. B. SEO-Plugins, Datensätze hinzufügen wp_postmeta Tabelle. Sie können zwar theoretisch Metadaten über Ihr Design hinzufügen, es ist jedoch sinnvoller, dies in einem Plugin zu tun, da dies im Allgemeinen mit der Funktionalität zusammenhängt und nicht mit der Anzeige.

Natürlich ist die Liste nicht auf diese Typen beschränkt. In der Tat werden alle Daten zu Beiträgen, Kommentaren oder Benutzern, die nicht in ihren Hauptdatenbanktabellen gespeichert werden können, in den entsprechenden Metadatentabellen gespeichert. 

Wenn Sie ein neues Feld zum Speichern von Daten hinzufügen, sollten Sie immer diese Tabellen und nicht die Kerntabellen verwenden.

Auf Metadaten zugreifen und ausgeben

WordPress verfügt über eine Metadaten-API, mit der Sie Metadaten hinzufügen, ändern, abrufen und löschen können. Für jede Art von Metadaten gibt es eine Reihe von Funktionen, die Sie zur Ausgabe von Metadaten in Ihren Vorlagendateien verwenden: Sie sollten diese anstelle von generischen Metadatenfunktionen verwenden.

Die Metadaten-API-Funktionen für jeden Inhaltstyp sind sehr ähnlich und haben dieselben Parameter:


Metadaten hinzufügen Metadaten abrufen Aktualisieren von Metadaten Metadaten löschen
Beiträge add_post_meta () get_post_meta () update_post_meta () delete_post_meta ()
Benutzer add_user_meta () get_user_meta () update_user_meta () delete_user_meta ()
Bemerkungen add_comment_meta () get_comment_meta () update_comment_meta () delete_comment_meta ()
Parameter $ post_id, $ meta_key, $ meta_value, $ einzigartig (wahlweise) $ post_id, $ meta_key, $ single (wahlweise), 
$ post_id, $ meta_key, $ meta_value, $ prev_value (wahlweise) $ post_id, $ meta_key, $ meta_value (wahlweise)

Diese Funktionen können in Ihren Vorlagendateien und Plugins verwendet werden, z. B. in der Vorlage für ein einzelnes Posting Ihres Themas. Sie können die folgenden Informationen verwenden, um Metadaten zum Post auszugeben:

Dies ist nur eine sehr einfache Methode, um einige Metadaten auszugeben - es gibt viele weitere Möglichkeiten, von denen ich einige später in dieser Serie behandeln werde.

Zusammenfassung

WordPress verwendet drei Metadatentabellen zum Speichern von Daten zu drei Inhaltstypen: Posts, Benutzer und Kommentare. Diese Tabellen werden für alles verwendet, was nicht im Core gespeichert ist wp_posts, wp_users und wp_kommentare Tabellen und sind die Tabellen, in die Sie Daten schreiben sollten, wenn Sie neue Felder über Designs oder Plugins hinzufügen. Die drei Tabellen arbeiten nahezu identisch und verfügen über sehr ähnliche Funktionen, mit denen Sie Metadaten hinzufügen, aktualisieren, löschen und abrufen können.

Wie ich bereits erwähnt habe, könnten Taxonomiebegriffe als eine andere Art von Metadaten in WordPress angesehen werden, und diese werden im nächsten Teil dieser Serie behandelt.