In den vorangegangenen Teilen dieser Serie haben wir uns die Tabellen in der WordPress-Datenbank und die Beziehungen zwischen ihnen angesehen.
In diesem Teil werde ich eine Tabelle behandeln, die sich von den anderen unterscheidet - der wp_options
Tabelle. Wie Sie dem folgenden Diagramm entnehmen können, ist dies die einzige Tabelle, die für sich alleine steht:
Die Optionstabelle speichert eine andere Art von Daten als die anderen Tabellen: Statt Daten über den Inhalt Ihrer Site zu speichern, werden Daten über die Site selbst gespeichert. Daten werden mithilfe der Options-API oder der Einstellungs-API in die Optionstabelle geschrieben. Beide Optionen bestehen aus einer Reihe von Funktionen zum Hinzufügen, Aktualisieren und Löschen von Daten aus dieser Tabelle.
Sie können vorhandenen Optionen Werte hinzufügen. Sie können der Tabelle auch neue Datensätze hinzufügen, wenn Sie neue Optionen erstellen möchten.
In diesem Tutorial werde ich verschiedene Aspekte der Optionstabelle und Ihre Interaktion damit betrachten:
wp_options
Tabellewp_options
Tabellewp_options
TabelleIch werde nur einen Überblick über die APIs und ihre Interaktion mit der Optionstabelle geben. Wenn Sie mehr darüber erfahren möchten, lesen Sie die Tom McFarlin-Serie über die Einstellungs-API.
Als die wp_options
Tabelle speichert Daten, die sich auf die Einrichtung und Verwaltung der gesamten Site beziehen, der Zugriff darauf ist eingeschränkt. Um Einstellungen und Optionen ändern zu können, müssen die Benutzer über die Verwaltungsoptionen
Fähigkeit. Die einzige Standardbenutzerrolle mit dieser Funktion ist die Administratorrolle (und in Multisite die Netzwerkadministratorrolle)..
Das bedeutet, wenn Sie Optionen hinzufügen müssen, auf die andere Benutzerrollen Zugriff haben, müssen Sie das zuweisen Verwaltungsoptionen
Fähigkeit zu ihnen. Dies birgt Risiken, also nur wenn Sie sich sicher sind!
Die Optionstabelle hat eine ähnliche Struktur wie die drei Metadatentabellen. Es hat vier Felder:
option_ID
Optionsname
Optionswert
Autoload
- Gibt an, ob die Option bei jedem Laden der Seite automatisch geladen wird - Standardeinstellung ist Ja
in einer einzigen standortinstallation und Nein
in Multisite.Jeder Datensatz in der Optionsname
Feld ist ein eindeutiger Wert: Wenn Sie einer Option mehr als einen Wert hinzufügen, speichert WordPress diesen Wert in einem Array im Optionswert
Feld. Ein gutes Beispiel dafür ist der aktive_plugins
Diese Option speichert ein Array von Plugins, die auf Ihrer Site aktiviert sind.
Beim Hinzufügen, Bearbeiten oder Löschen von Daten im wp_options
Tabelle müssen Sie immer die angeben Optionsname
, Wie ich später in diesem Tutorial zeigen werde.
Das wp_options
Tabelle wird aus einer von drei Quellen gefüllt:
In WordPress gibt es eine Reihe von Optionen, die Sie alle in der Optionsübersicht sehen können. Sie können aber auch Ihre eigenen erstellen.
Um neue Optionen in Ihrem Design oder Plugin zu erstellen, verwenden Sie die Options-API oder die Einstellungs-API. Ich werde diese weiter unten ausführlicher behandeln.
Die Options-API besteht aus acht Funktionen, mit denen Sie Optionen hinzufügen, abrufen, aktualisieren oder löschen können:
Funktion | Parameter | Anmerkungen |
---|---|---|
add_option () | Option $ , $ wert , $ veraltet , $ autoload | Nur Option $ Wird benötigt. Wenn es einen Datensatz mit Ihrem gibt Option $ Parameter als Wert seiner Optionsname In diesem Feld wird WordPress Ihre $ wert zu einem Array in der Optionswert Feld für diesen Datensatz, andernfalls wird ein neuer Datensatz erstellt. |
delete_option () | Option $ | Löscht alle Felder für diese Option |
get_option () | Option $ , $ default | $ default (optional) ist der Standardwert, der zurückgegeben werden soll, wenn für die Option in der Datenbank kein Wert gespeichert ist. |
update_option () | Option $ , $ new_value | $ new_value ist der Wert, der die Optionswert Feld |
add_site_option () | Option $ , $ wert | Ähnlich zu add_site_option () fügt jedoch die Option netzweit in Multisite hinzu (was bedeutet, dass die Option in der wp_options Tisch und nicht die wp_XX_options Tisch wo XX ist die Site-ID). $ autoload ist nicht enthalten, da Site-Optionen in Multisite nicht automatisch geladen werden und dies nicht überschrieben werden kann. |
delete_site_option () | Option $ | Das Gleiche wie delete_option () funktioniert aber netzweit in Multisite. |
get_site_option () | Option $ , $ default , $ use_cache | Ähnlich zu get_option () ruft jedoch die netzwerkweite Option in Multisite ab. |
update_site_option () | Option $ , $ wert | Identisch mit update_option () funktioniert aber netzweit in Multisite. |
Beachten Sie, dass Sie beim Erstellen von Optionen entweder über die Options-API oder die Einstellungs-API Datensätze erstellen können, in denen kein Wert angegeben ist Optionswert
Feld. Auf diese Weise können Site-Administratoren dieses Feld zu einem späteren Zeitpunkt auffüllen.
Neben der Options-API können Sie auch die Einstellungs-API für die Interaktion mit Daten in verwenden wp_options
Tabelle. Mit der Einstellungs-API können Sie Einstellungen erstellen, die Site-Administratoren zum Hinzufügen oder Aktualisieren von Daten in der Optionstabelle verwenden können. Sie fügen Ihren Optionen eine Benutzeroberfläche hinzu.
Die Einstellungs-API hat mehr zu bieten als die Options-API, daher werde ich sie hier nicht ausführlich behandeln, aber im Wesentlichen gibt es drei Elemente:
wp_options
Tabelle)Die beiden Funktionen in der Einstellungs-API, die direkt mit der interagieren wp_options
Tabelle sind wie folgt:
Funktion | Parameter | Anmerkungen |
---|---|---|
register_setting () | $ option_group , $ Optionsname , $ sanitize_callback | Das $ Optionsname Parameter bezieht sich auf die Optionsname Feld in der wp_options Tabelle; Die anderen Parameter interagieren mit anderen Funktionen in der Einstellungs-API |
unregister_setting () | $ option_group , $ Optionsname , $ sanitize_callback | Deregistriert Einstellungen von der wp_options table - normalerweise mit Deaktivierungshaken für Designs oder Plugins verwendet. |
Diese Funktionen fügen den Optionen in der Option keine Werte hinzu wp_options
Tabelle, aber sie erstellen Einstellungen, für die Werte über andere Funktionen in der Einstellungs-API hinzugefügt werden können.
Das wp_options
Tabelle ist bei WordPress-Datenbanktabellen insofern einzigartig, als sie keine Beziehung zu den anderen Tabellen hat. Dies liegt daran, dass Daten über die Site oder das Netzwerk und nicht den Inhalt gespeichert werden. Um mit der Optionstabelle zu interagieren, können Sie die Funktionen der Options-API oder der Einstellungs-API verwenden. Außerdem können Sie Funktionen verwenden, die Daten netzweit in eine Multisite-Isolierung einfügen.
Im letzten Teil dieser Reihe werde ich auf Multisite eingehen, da hier einige zusätzliche Datenbanktabellen verwendet werden, die bisher in dieser Reihe nicht behandelt wurden, und außerdem mehrere Instanzen jeder der Kerntabellen erstellt werden, eine für jeden Standort.