Beherrschen von WordPress-Metadaten Eine Einführung in Metadaten

Was WordPress zu einem leistungsstarken CMS-Tool macht, ist die Möglichkeit, das wp_postmeta Tabelle zum Speichern benutzerdefinierter Felder. Diese benutzerdefinierten Felder können zusätzliche Informationen enthalten, z. B. SEO-Felder, die durch ein SEO-Plugin hinzugefügt wurden, oder können verwendet werden, um zusätzlichen Front-End-Inhalt anzuzeigen.

Durch Hinzufügen dieser zusätzlichen Informationen zu Feldern können Sie benutzerdefinierte Abfragen erstellen, um die Anzeige Ihres Inhalts nach zu organisieren.

Das Erlernen der Arbeit mit diesen Daten ist eine hervorragende Möglichkeit, grundlegende PHP-Konzepte wie Arrays, Schleifen und Objekte zu erlernen. Um ein Meister der WordPress-Metadaten zu werden, müssen Sie Arrays aller Art beherrschen.

In dieser Serie von Tutorials zeige ich Ihnen verschiedene Möglichkeiten, mit PostPress-Metadaten und Metadaten von Benutzern als konkrete Beispiele für die Arbeit mit Arrays zu arbeiten.

Sie lernen den Unterschied zwischen einem indizierten Array und einem assoziativen Array kennen und erfahren, wie Sie mehrdimensionale Arrays verstehen.

Was sind Post-Metadaten??

Die technischste Definition von Post-Meta-Daten sind alle Informationen, die im gespeichert sind wp_postmeta Tabelle. Standardmäßig ist das nicht viel, aber jedes Mal, wenn ein Plugin oder ein Design ein benutzerdefiniertes Feld hinzufügt, werden die in dieses Feld eingegebenen Daten im gespeichert wp_postmeta Tabelle.

Ein gutes Beispiel wären die SEO-Felder, die ein SEO-Plugin hinzufügt. Stellen Sie sich beispielsweise eine Post-Meta-Beschreibung vor. Dieses Feld wird in der Postmeta-Tabelle gespeichert.

Darüber hinaus können Benutzerprofile in WordPress mit benutzerdefinierten Feldern erweitert werden. In einer Beziehung, die sich spiegelt wp_posts und wp_postmeta, Diese Felder werden im gespeichert wp_usermeta Tisch - nicht der wp_user Tabelle.

In dieser Serie werden wir nicht besprechen, wie Sie benutzerdefinierte Felder in WordPress hinzufügen - das ist ein eigenes Thema. Benutzerdefinierte Felder können im Post-Editor mit der Meta-Box "Benutzerdefinierte Felder" hinzugefügt werden, indem Sie sie direkt in ein Plug-In oder ein Design implementieren oder ein spezielles Framework wie Pods oder Advanced Custom Fields verwenden.

Post-Meta-Daten sind technisch gesehen alle Informationen, die im gespeichert werden wp_postmeta Tabelle. Wie bereits erwähnt, ist das Meta-Beschreibungsfeld, das durch Plugins wie WordPress SEO eingeführt wird, ein gutes Beispiel für Post-Metadaten.

Methoden zum Abrufen von Metadaten

Get_post_meta () verwenden

WordPress bietet uns verschiedene Möglichkeiten, Metadaten für einen Beitrag zu erhalten.

Wir können nur ein Feld mit verwenden get_post_meta () indem Sie dieses Feld angeben. Um beispielsweise ein Feld namens "foo" aus dem aktuellen Beitrag in der Schleife zu erhalten, können wir dies tun get_post_meta (get_the_id (), 'foo', wahr);.

Beachten Sie, dass wir das letzte Argument auf setzen wahr. Dieses Argument, das als "single" bezeichnet wird, legt fest, ob ein einzelner Wert oder ein Array von Werten zurückgegeben werden soll. Wenn wir wollten, könnten wir alle Werte für den Beitrag in eine Variable oder alle Werte aus Feld bringen.

WP_Query verwenden

Manchmal möchten wir eine komplette Schleife um Metadaten herum aufbauen, und das ist der Ort, an dem das geschieht WP_Query ist sehr nützlich. WP_Query ermöglicht es uns, eine so genannte "Meta-Abfrage" auszuführen, bei der wir die Beiträge auf der Grundlage eines oder mehrerer Meta-Felder abfragen und die Beiträge zurückgeben, deren Werte mit einem bestimmten Wert übereinstimmen. Das Ergebnis ist eine Sammlung, durch die wir eine Schleife bilden können.

Stellen Sie sich zum Beispiel vor, wir haben ein Feld namens "author_name" und wir wollten jeden Beitrag, an dem sich das Feld befindet, zurückgeben Autorenname hatte den Wert "J.R.R." Tolkien '. WP_Query erlaubt uns, dies einfach zu machen - wir werden uns dies im vierten Teil dieser Serie genauer ansehen.

Posts sind nicht alle!

Posts sind nicht die einzigen Datentypen, die Metadaten enthalten. Sie kennen beispielsweise alle Felder, die im Benutzerprofil verfügbar sind. Das sind alles Meta-Felder, anstatt im gespeichert zu werden wp_postmeta Tabelle sind sie in der gespeichert wp_usermeta Tabelle.

Daher verfügen wir über spezielle Funktionen und Klassen für Benutzer-Metainformationen. Die Funktionen get_user_meta () und get_author_meta () sind das Äquivalent von Get Post-Meta für Benutzer. WP_Query hat auch eigene Nutzer gleichwertig - WP_User_Query.

Objekte im Vergleich zu Arrays

Wenn Sie Funktionen wie verwenden get_post_meta () Wenn Sie mehr als ein Feld zurückgeben möchten, erhalten Sie wahrscheinlich ein so genanntes mehrdimensionales Array. Ein mehrdimensionales Array wird auch als Array von Arrays bezeichnet. Jedes Array innerhalb des mehrdimensionalen Arrays könnte ein multidimensionales Array sein.

Klingt verwirrend? Mach dir keine Sorgen! In dieser Serie erfahren Sie, wie Sie mehrdimensionale Arrays lesen, um den Index aufzurufen, den Sie benötigen.

Schließlich ist es - wie bereits erwähnt - eine andere Methode, Informationen über einen Beitrag zu erhalten WP_Query. Wenn Sie das verwenden WP_Query Klasse, die Sie verwenden, was als objektorientiertes PHP bezeichnet wird, und was Sie zurückgeben, unterscheidet sich von einem Array - es ist ein Objekt.

In gewisser Weise ähneln Objekte Arrays, da sie Arrays von Informationen enthalten können. Mit einem Objekt können Sie jedoch alle Funktionen der Klasse verwenden. Dies bedeutet, dass wir nicht nur ein WP_Query-Objekt verwenden können, um einen Wert für ein Meta-Feld zurückzugeben, sondern wir können auch seine internen Methoden verwenden, von denen die gebräuchlichste ist die Post().

Als nächstes…

An diesem Punkt haben wir eine Übersicht über die verschiedenen Arten von Metadaten erstellt, wie sie gespeichert werden, wie sie dargestellt werden können und wie sie abgerufen werden können.

Während wir mit dieser Serie fortfahren, werden wir uns mit jedem Aspekt der Metadatentabellen, den zugehörigen APIs und der Frage, wie wir sie nutzen können, um Funktionalität und Flexibilität in unsere Projekte einzuführen, eingehender untersuchen.