Wie so viele Beispiele der WordPress-Terminologie kann der Begriff "Posts" verwirrend sein, da er sich auf einen Post-Typ sowie auf einen Inhaltstyp bezieht, der in einer bestimmten Datenbanktabelle gespeichert ist.
Hier werde ich den Unterschied zwischen den beiden erläutern und die Beitragstypen im Detail betrachten.
Im vorherigen Teil dieser Serie habe ich die verschiedenen Inhaltstypen in WordPress untersucht, die in verschiedenen Datenbanktabellen gespeichert sind. Diese sind:
In diesem Lernprogramm werde ich die Posts genauer untersuchen und die Posttypen, die Beziehungen zwischen ihnen und die Frage, wie das Verstehen all dies helfen kann, Ihnen helfen, mit ihnen zu arbeiten.
Zuerst definiere ich die Beiträge und wie sie sich von den Beiträgen unterscheiden (ja, es ist verwirrend und das Hinzufügen eines Großbuchstabens macht die Dinge nicht viel klarer!):
Post
ist ein Inhaltselement, das im gespeichert ist wp_posts
Tabelle. Jeder hat eine Post-Typ
ihm zugewiesen, was sein könnte Post
, Seite
oder etwas anderes.Das wp_posts
Tabelle ist in der Abbildung unten dargestellt.
Sinn ergeben? Wenn nicht, lesen Sie weiter, alles wird klar!
WordPress enthält fünf eingebaute Posttypen:
Zusätzlich können Sie Ihre eigenen benutzerdefinierten Beitragstypen mit der register_post_type ()
Funktion, was bedeutet, dass Ihre WordPress-Installation beliebig viele Post-Typen haben kann. Jeder Beitragstyp hat den gleichen Status wie die eingebauten Beitragstypen - gelegentlich habe ich gehört, dass Leute denken, dass "benutzerdefinierter Beitragstyp" selbst ein Beitragstyp ist. Es ist nicht!
Ich werde das an einem Beispiel veranschaulichen. Wenn Sie eine benutzerdefinierte Abfrage für Beiträge schreiben, fügen Sie den Argumenten Ihrer Abfrage Folgendes hinzu:
'post_type' => 'post'
Wenn Sie jedoch einen benutzerdefinierten Beitragstyp erstellt haben my_post_type
, Sie würden es mit dem folgenden abfragen:
'post_type' => 'mein_post_type'
Sie können dies verwenden Post-Typ
Argument, um jeden Beitragstyp abzufragen, und Sie können sogar mehrere Beitragstypen abfragen, wenn Sie möchten. Ich werde nicht ins Detail gehen, da es außerhalb des Rahmens dieses Tutorials liegt, aber Sie können mehr auf der WordPress-Codex-Seite lesen WP_Query
.
Werfen wir einen kurzen Blick auf die eingebauten Post-Typen, wie sie einander ähnlich sind und wie sie sich unterscheiden. Beachten Sie, dass ich in der nachstehenden Tabelle den Begriff "Post" im allgemeinen Sinn verwende, um den Inhalt aller Beitragstypen zu beschreiben.
Post-Typ | Benutzt für | Anmerkungen |
---|---|---|
Post | Blogbeiträge oder ähnliches | Kernpost-Typ - aufgeführt auf der Hauptblogseite |
Seite | Statische Seiten | Entwarf, einzeln angezeigt zu werden - wird im Allgemeinen nicht in Archiven verwendet (obwohl dies möglich ist). Seiten können übergeordnete Elemente haben, die mit definiert werden post_parent Feld im Datensatz für die untergeordnete Seite.Jede Seite kann mehrere Kinder haben, aber nur ein Elternteil. |
Befestigung | Dokumente und Bilder (die möglicherweise an einen Beitrag angehängt sind oder nicht) | In einen Beitrag hochgeladene Medien haben die ID dieses Beitrags in ihrem post_parent Feld. Für Bilder, die über den Medienbildschirm im Dashboard hochgeladen werden, ist dieses Feld leer. Das guid Feld wird zum Speichern der URL der Mediendatei verwendet. |
Revision | Einzelne Überarbeitungen zu jedem Beitrag | Jede Revision ist an einen Beitrag angehängt: der ICH WÜRDE dieses Beitrags wird in der Revision gespeichert post_parent Feld. |
Navigationsmenüelemente | Einzelne Navigationsmenüpunkte | Jedes Menü enthält eine Reihe von Navigationselementen, von denen jedes als Beitrag gespeichert wird. Das menu_order In diesem Feld werden Informationen über die Reihenfolge der Navigationsmenüelemente gespeichert. Zusätzliche Daten wie das Ziel- und das übergeordnete Menüelement werden als Datensätze in der Datenbank gespeichert wp_postmeta Tabelle. |
Benutzerdefinierte Beitragstypen können so registriert werden, dass sie sich wie die eingebauten Beitragstypen verhalten (außer Befestigung
), aber der Standard ist Post
. Jeder Beitragstyp hat eine eigene Schnittstelle.
Wie Sie der obigen Tabelle entnehmen können, ist die post_parent
Feld ist ein wichtiges Feld, da es Informationen über Beziehungen zwischen verschiedenen Beiträgen speichert. Diese schließen ein:
Du kannst den ... benutzen post_parent
Feld auf verschiedene Weise in Ihren Abfragen. Um beispielsweise untergeordnete Seiten einer bestimmten Seite abzufragen, würden Sie Folgendes verwenden, wobei ICH WÜRDE
ist die ID der übergeordneten Seite:
'post_parent' => 'ID'
Sie können eine ähnliche Abfrage verwenden, um Anhänge anzuzeigen, die zu einem bestimmten Beitrag hochgeladen wurden. Alternativ können Sie auch Anhänge ohne übergeordnete Elemente abfragen (d. H. Diejenigen, die direkt auf den Medienbildschirm im Dashboard hochgeladen werden)..
Verwenden Sie dazu das folgende Argument:
'post_parent' => '0'
Es ist höchst unwahrscheinlich, dass Sie jemals eine Revision abfragen müssen, da Besucher nur Ihre veröffentlichten Inhalte sehen sollen.
Sie können auch verwenden post_parent_in
mit einem Array von IDs, um die untergeordneten Elemente einer Reihe von Beiträgen oder Seiten zu identifizieren.
Das verstehen wp_posts
Tabelle und was sie speichert, ist ein wesentlicher Bestandteil des Verständnisses der WordPress-Datenbank. Wie Sie gesehen haben, die wp_posts
Tabelle wird zum Speichern von Posts verwendet. Diese enthält fünf vordefinierte Posttypen (einschließlich Post) sowie eine beliebige Anzahl benutzerdefinierter Posttypen, die Sie selbst hinzufügen.
Die Tabelle speichert auch Daten über die Beziehungen zwischen Beiträgen in der post_parent
Feld.