WordPress verwendet eine Datenbank, um alle Inhalte zu speichern, abzurufen und anzuzeigen, die Sie auf Ihrer Website erstellen. Dazu gehören Beiträge, Seiten, Kommentare und mehr.
Die Datenbank wird auch verwendet, um Informationen über die Benutzer Ihrer Website sowie verschiedene Website-Optionen zu speichern, die Ihre Website betreiben.
Wie Sie in der Lektion über Webserver gelernt haben, verwendet WordPress MySQL. MySQL ist ein kostenloses Open-Source-Datenbankmanagementsystem, das von vielen beliebten Webanwendungen verwendet wird.
Interaktion mit Ihrer WordPress-Datenbank
Es gibt einige Möglichkeiten, direkt mit Ihrer WordPress-Datenbank zu interagieren.
Die meisten lokalen Entwicklungsumgebungen oder Hosting-Unternehmen verwenden ein kostenloses Tool namens phpMyAdmin. phpMyAdmin ist ein webbasiertes Tool, mit dem Sie über einen Webbrowser mit Ihrer WordPress-Datenbank interagieren können.
Eine Alternative zu phpMyAdmin ist ein Tool namens Adminer. Adminer ist eine einzelne PHP-Datei, die Sie auf Ihre Website hochladen können, und bietet eine ähnliche Benutzeroberfläche wie phpMyAdmin. Einige Hosting-Unternehmen und lokale Entwicklungsumgebungen verwenden lieber Adminer statt phpMyAdmin.
Wenn Sie schließlich auf keines der beiden Tools Zugriff haben, können Sie auch ein Plugin namens SQL Buddy installieren.
Dies ist ein kostenloses WordPress-Plugin, das eine ähnliche Benutzeroberfläche wie phpMyAdmin und Adminer bietet, jedoch innerhalb Ihres WordPress-Dashboards ausgeführt wird.
Wenn Sie sich für SQL Buddy entscheiden, denken Sie bitte daran, das Plugin zu deaktivieren und zu löschen, wenn Sie es nicht mehr benötigen. Das Plugin auf Ihrer Website installiert zu lassen, stellt ein mögliches Sicherheitsrisiko dar.
Datenbanktabellen
Für die Zwecke dieser Lektion verwenden wir PhpMyAdmin, um die Datenbanktabellen zu untersuchen.
Die WordPress-Datenbank besteht aus vielen Tabellen. Jede Tabelle speichert einen anderen Datentyp für Ihre Website.
Jede Tabelle hat dasselbe Präfix, das in der Datei wp-config.php definiert ist. Standardmäßig lautet das Präfix wp_, aber Sie können es während des WordPress-Installationsprozesses beliebig ändern.
Beginnen wir damit, uns die wichtigsten Tabellen für die Verwaltung von Inhalten anzusehen.
wp_posts und wp_postmeta
Die Tabelle wp_posts ist wahrscheinlich die wichtigste Tabelle einer WordPress-Website und speichert Informationen über die Beiträge, Seiten und alle anderen benutzerdefinierten Beitragstypen Ihrer Website. Jede Zeile in der Tabelle wp_posts stellt einen einzelnen Beitrag dar. In der Tabelle wp_postmeta können Sie zusätzliche Informationen zu jedem Beitrag speichern. Die Beitragsmetadaten werden auch häufig als benutzerdefinierte Felder bezeichnet.
wp_comments und wp_commentmeta
Die Tabelle wp_comments speichert Informationen über die Kommentare zu Ihren Beiträgen und Seiten. Wenn jemand einen Beitrag oder eine Seite kommentiert, wird dieser Kommentar in dieser Tabelle gespeichert. Jede Zeile in der Tabelle wp_comments stellt einen einzelnen Kommentar dar. Die Tabelle wp_commentmeta kann zusätzliche Informationen zu jedem Kommentar speichern.
wp_user und wp_usermeta
Die Tabelle wp_users speichert alle Informationen über die Benutzer Ihrer Website. Jede Zeile in der Tabelle wp_users stellt einen einzelnen Benutzer dar. Wie andere Metadatentabellen kann die Tabelle wp_usermeta zusätzliche Informationen zu jedem Benutzer speichern.
Funktionen zur Interaktion mit Beiträgen, Kommentaren und Benutzern
Für alle WordPress-Datenbanktabellen gibt es Funktionen, mit denen Sie mit dieser Tabelle interagieren können.
Diese Funktionen sind Teil der WordPress-Datenbank-API.
Alle diese Funktionen finden Sie über die Suchfunktion in der WordPress-Entwicklerdokumentation unter „Code Reference“.
Im Allgemeinen folgen die Funktionen, mit denen Sie mit der WordPress-Datenbank interagieren können, einem ähnlichen Muster.
Es gibt eine Einfügefunktion, eine Aktualisierungsfunktion und eine Löschfunktion.
Diese haben normalerweise denselben Namen: das Präfix wp_, gefolgt von der Aktion und anschließend dem Namen der Tabelle.
Sehen wir uns beispielsweise diese Funktionen für Beiträge an:
wp_insert_postist die Funktion zum Erstellen eines neuen Beitragswp_update_postist die Funktion zum Aktualisieren eines bestehenden Beitragswp_delete_postist die Funktion zum Löschen eines Beitrags
Daneben gibt es normalerweise Funktionen, um entweder alle Datensätze aus einer Tabelle oder einen einzelnen Datensatz abzurufen.
Diese haben normalerweise denselben Namen: das Präfix get_, gefolgt vom Singular- oder Pluralnamen der Tabelle.
Beispielsweise ist get_posts die Funktion zum Abrufen einer Sammlung von Beiträgen.
Und get_post ist die Funktion zum Abrufen eines einzelnen Beitrags.
Jede dieser Funktionen verfügt typischerweise über eine Reihe von Parametern, mit denen Sie die zurückgegebenen Ergebnisse filtern können.
Darüber hinaus gibt es Funktionen zur Interaktion mit Metadatentabellen, normalerweise zum Einfügen, Aktualisieren oder Löschen von Metafeldern.
Diese haben normalerweise denselben Namen: die Aktion, gefolgt vom Singularnamen der Tabelle und anschließend _meta.
Bei Beiträgen ist beispielsweise add_post_meta die Funktion zum Einfügen eines Metafelds.
Ebenso ist update_post_meta die Funktion zum Aktualisieren eines Metafelds und delete_post_meta die Funktion zum Löschen eines Metafelds.
wp_terms, wp_termmeta, wp_term_relationships und wp_term_taxonomy
Die Tabellen wp_terms, wp_termmeta, wp_term_relationships und wp_term_taxonomy verwalten die Kategorien und Schlagwörter auf Ihrer WordPress-Website.
Die Tabelle wp_terms speichert Informationen über die Begriffe Ihrer Website. Jede Zeile in der Tabelle wp_terms stellt einen einzelnen Begriff dar. Im Hintergrund sind Kategorien und Schlagwörter beides Begriffe.
Ob es sich dabei um eine Kategorie oder ein Schlagwort handelt, wird durch die Taxonomie bestimmt, der sie zugeordnet sind. Diese wird in der Tabelle wp_term_taxonomy gespeichert.
Die Tabelle wp_term_relationships speichert die Beziehungen zwischen Begriffen und ihren übergeordneten Objekten, also einem Beitrag, einer Seite oder einem benutzerdefinierten Beitragstyp.
Schließlich kann die Tabelle wp_termmeta zusätzliche Informationen zu jedem Begriff speichern.
Funktionen zur Interaktion mit Begriffen und Taxonomien
Ähnlich wie bei den Funktionen zur Interaktion mit Beiträgen, Kommentaren und Benutzern gibt es auch Funktionen zur Interaktion mit Begriffen und Taxonomien. Diese finden Sie, indem Sie in der WordPress-Code-Referenz nach „term“ oder „taxonomy“ suchen.
wp_options
Die Tabelle wp_options speichert Informationen über die Einstellungen Ihrer Website. Jede Zeile in der Tabelle wp_options stellt eine bestimmte Einstellung dar. Beispielsweise speichert die Option siteurl die URL Ihrer Website und die Option blogdescription den Slogan Ihrer Website. Die Tabelle wp_options speichert außerdem Informationen über das aktive Theme und die aktiven Plugins Ihrer Website.
Daten werden in der Tabelle wp_options im Schlüssel-Wert-Format gespeichert. Der Schlüssel ist der Name der Option und der Wert ist der Wert der Option.
Es ist auch möglich, serialisierte Daten in der Tabelle wp_options zu speichern. Serialisierte Daten sind eine Zeichenfolge, die mehrere Werte enthält. Serialisierte Daten werden häufig zum Speichern von Daten-Arrays und -Objekten verwendet. Ein gutes Beispiel dafür ist die Liste der aktiven Plugins, die als serialisiertes Array gespeichert wird.
Funktionen zur Interaktion mit Optionen
Die Options API wird typischerweise zusammen mit der Settings API verwendet, um Einstellungsseiten für das WordPress-Dashboard zu erstellen, entweder über den WordPress-Core, Plugins oder Themes. Die Options API stellt Funktionen für die Interaktion mit der Tabelle wp_options bereit, wie add_option, update_option und delete_option.
wp_links
Die Tabelle wp_links speichert Informationen über die Links Ihrer Website. Links waren eine Funktion, die in WordPress Version 3.5 entfernt wurde.
Da es jedoch weiterhin möglich ist, diese Funktion mithilfe des Plugins „Links Manager“ wieder zu aktivieren, ist die Tabelle aus Gründen der Abwärtskompatibilität erhalten geblieben.
Fazit
Die Fähigkeit, die Tabellen in einer WordPress-Datenbank korrekt zu identifizieren und mit ihnen zu interagieren, ist eine äußerst nützliche Fertigkeit. Sie hilft Ihnen, besser zu verstehen, wie WordPress funktioniert, wenn Sie mit WordPress entwickeln.