Eine WordPress-Website besteht aus drei Hauptelementen:
WP-Inhalt
Verzeichnis, das die Designs, Plugins und Uploads enthältDie meisten WordPress-Benutzer kommen nie in direkten Kontakt mit der Datenbank und wissen möglicherweise nicht einmal, dass sie ständig daran arbeitet, ihre Website aufzufüllen. Wenn WordPress jede Art von Seite bedient, sei es die Startseite, ein einzelner Beitrag oder eine Seite oder ein Archiv, wird auf die Datenbank zugegriffen, um Inhalte aufzurufen, die Editoren und Administratoren der Site hinzugefügt haben.
In dieser Serie von Tutorials werde ich verschiedene Aspekte der WordPress-Datenbank detailliert betrachten. Die Serie besteht aus neun Teilen, die Folgendes abdecken:
In dieser Einführung gebe ich einen Überblick über die Datenbanktabellen und deren Beziehung zu den Inhaltstypen, mit denen Sie in WordPress arbeiten können, und finde heraus, was wo gespeichert ist.
Da die Datenbanktabellen zum Speichern von Inhalt verwendet werden, müssen Sie den Inhalt verstehen, bevor Sie ihn verstehen können. Es gibt verschiedene Arten von Inhalten in WordPress:
Diesen Inhaltstypen sind dann Daten zugeordnet:
Darüber hinaus gibt es noch andere Arten von Inhalten, die unterschiedlich gespeichert werden:
Alle diese Arten von Inhalten werden irgendwo in der Datenbank gespeichert (oder gelegentlich in Themes oder Plugin-Dateien, wie ich es zeige). Sie können einen eigenen Eintrag haben oder Teil eines anderen Eintrags sein (z. B. gestreamte Inhalte, die in einem Beitrag codiert sind). Sie können auch mit Daten in anderen Tabellen verknüpft sein. Beispielsweise werden Daten zu Beiträgen mit Daten zu Benutzern verknüpft, sodass WordPress weiß, wer welche Beiträge verfasst hat.
WordPress verwendet eine Reihe von Datenbanktabellen mit Beziehungen zwischen ihnen, um die zu speichernde Datenmenge zu minimieren. Dadurch werden 1: 0-Beziehungen erstellt. Dies bedeutet, dass beispielsweise ein Benutzer über viele Einträge verfügen kann, die er mit seinem Benutzerdatensatz erstellt hat. Das spart Platz - wenn WordPress alle Benutzerdaten für jeden Benutzer in Bezug auf jeden Beitrag, den er verfasst hat, speichert, bedeutet das eine Menge wiederholter Daten und viel Platz.
Das folgende Diagramm stammt aus dem WordPress-Codex und zeigt die Datenbanktabellen und wie sie verknüpft sind:
Die meisten Tabellen sind über ein Feld mit einer oder mehreren anderen Tabellen verknüpft. Dieses Feld ist ein eindeutiger Bezeichner für jeden Datensatz, z post_id
. Dies ist in dieser Tabelle genauer dargestellt:
Tabelle | Daten gespeichert | Verbunden mit |
---|---|---|
wp_posts | Beiträge, Seiten, Anhänge, Revisionen und Navigationsmenüelemente | wp_postmeta (über post_id )wp_term_relationships (über post_id ) |
wp_postmeta | Metadaten für jeden Beitrag | wp_posts (über post_id ) |
wp_kommentare | Bemerkungen | wp_posts (über post_id ) |
wp_commentmeta | Metadaten für jeden Kommentar | wp_kommentare (über comment_id ) |
wp_term_relationships | Beziehungen zwischen Posten und Taxonomien | wp_posts (über post_id )wp_term_taxonomy (über term_taxonomy_id ) |
wp_term_taxonomy | Taxonomien (einschließlich Kategorien und Tags) | wp_term_relationships (über term_taxonomy_id ) |
wp_terms | Ihre Kategorien und Tags sowie die den benutzerdefinierten Taxonomien zugewiesenen Begriffe | wp_term_taxonomy (über term_id ) |
wp_links | Die Links in Ihrer Blogroll (falls Sie noch eine haben) | wp_term_relationships (über link_id ) |
wp_users | Benutzer | wp_posts (über post_author ) |
wp_user_meta | Metadaten für jeden Benutzer | wp_users (über Benutzeridentifikation ) |
wp_options | Site-Einstellungen und Optionen (über die Einstellungsbildschirme sowie über Plugins und Designs festgelegt) | n / a |
Einige Dinge sind erwähnenswert:
wp_
Präfix standardmäßig Sie können dies ändern, wenn Sie Ihre Site konfigurieren, aber es ist nicht viel wert.wp_posts
Tabelle, in der die meisten Ihrer Daten gespeichert werden. Dies hält (fast) alles andere zusammen.wp_options
Tabelle. In diesen Tabellen werden Daten zur Site und zur WordPress-Installation gespeichert, die sich nicht auf Daten zu Beiträgen oder Benutzern beziehen.wp_users
und wp_kommentare
Tabellen sind nicht verknüpft. Obwohl Sie angeben können, dass Benutzer zum Kommentieren registriert werden müssen, speichert WordPress keine Daten zu Kommentaren für jeden Benutzer, der sie gepostet hat. Nachdem Sie sich die Inhaltstypen in WordPress und die zum Speichern verwendeten Datenbanktabellen angesehen haben, kann es hilfreich sein, die beiden zu vergleichen. Die folgende Tabelle zeigt, welche Datenbanktabelle zum Speichern der einzelnen Inhaltstypen verwendet wird.
Inhaltstyp | Tabelle (n) |
---|---|
Beiträge | wp_posts |
Seiten | wp_posts |
benutzerdefinierte Posttypen | wp_posts |
Anlagen | wp_posts |
Links | wp_links |
Navigationsmenüpunkte | wp_posts |
Kategorien | wp_terms |
Stichworte | wp_terms |
benutzerdefinierte Taxonomien | wp_term_taxonomy |
Taxonomiebegriffe | wp_terms |
Post-Metadaten | wp_post_meta |
Widgets | wp_options |
Optionen | wp_options |
Benutzer | wp_users |
fest codierter Inhalt | wp_posts (wenn zu Beiträgen hinzugefügt)wp_options (falls zu Widgets hinzugefügt)Theme- und Plugin-Dateien (falls fest codiert) |
Inhalte von Dritten | wp_posts (wenn zu Beiträgen hinzugefügt)wp_options (wenn über Widgets oder Plugins hinzugefügt)Theme- und Plugin-Dateien (falls fest codiert) |
Möglicherweise haben Sie festgestellt, dass nicht alle Datenbanktabellen in dieser Tabelle enthalten sind. Dies liegt daran, dass einige von ihnen zum Speichern von Metadaten und andere zum Speichern von Beziehungen verwendet werden. Beide werden später in dieser Serie ausführlicher behandelt.
Hoffentlich haben Sie jetzt ein besseres Verständnis dafür, wie und wo WordPress unterschiedliche Datentypen mithilfe der Datenbankstruktur speichert. In dieser Serie wird auf alle Aspekte dieses Themas näher eingegangen.
Im nächsten Teil werde ich die Beziehungen zwischen Daten untersuchen und genauer untersuchen, wie bestimmte Tabellen verknüpft werden und wie einige dazu verwendet werden, um Daten zu Beziehungen zu speichern.