Die erlaubten Einträge der Einstellungen definieren
Mit dem Modul Schema Settings kannst du die Einstellungen der Website (gespeichert in der Tabelle wp_options) abrufen, indem du die Felder optionValue, optionValues und optionObjectValue abfragst.
Diese Felder haben eine unterschiedliche Signatur:
optionValue: AnyBuiltInScalaroptionValues: [AnyBuiltInScalar]optionObjectValue: JSONObject
Diese query ruft beispielsweise die URL der Website ab:
{
homeURL: optionValue(name: "home")
}Aus Sicherheitsgründen müssen die Optionen, die abgefragt werden können, explizit konfiguriert werden.
Antwort der Einstellungen
Wenn ein „optionValue"-Feld ausgeführt wird und der Zugriff auf den Optionsnamen in den Einstellungen nicht erlaubt ist, gibt die query einen Fehler zurück.
Die Ausführung dieser query zum Beispiel:
{
optionValue(name: "nonExistentOption")
}Gibt zurück:
{
"errors": [
{
"message": "There is no option with name 'nonExistentOption'",
"extensions": {
"type": "Root",
"id": "root",
"field": "optionValue(name:\"nonExistentOption\")"
}
}
],
"data": {
"option": null
}
}Andernfalls ist die Antwort der Wert der Einstellung mit dem angegebenen Namen.
Die erlaubten Optionen konfigurieren
Wir müssen die Liste der Optionsnamen konfigurieren, die abgefragt werden können.
Jeder Eintrag kann entweder sein:
- Ein Regex (regulärer Ausdruck), wenn er von
/oder#umschlossen ist, oder - Der vollständige Optionsname, ansonsten
Zum Beispiel entspricht jeder dieser Einträge dem Meta-Key "siteurl":
siteurl/site.*/#site([a-zA-Z]*)#
Es gibt 2 Stellen, an denen diese Konfiguration vorgenommen werden kann, in der Reihenfolge ihrer Priorität:
- Benutzerdefiniert: in der entsprechenden Schema-Konfiguration
- Allgemein: auf der Einstellungsseite
Wähle in der auf den Endpoint angewendeten Schema-Konfiguration die Option "Use custom configuration" und gib dann die gewünschten Einträge ein:

Andernfalls werden die Einträge verwendet, die im Tab „Settings" der Einstellungen definiert sind:

Es gibt 2 Verhaltensweisen, „Allow access" und „Deny access":
- Allow access: Nur die konfigurierten Einträge sind zugänglich, keine anderen
- Deny access: Die konfigurierten Einträge sind nicht zugänglich, alle anderen schon

Standardoptionen
Nach der Installation des Plugins sind die folgenden Optionen standardmäßig als zugänglich vordefiniert:
"siteurl""home""blogname""blogdescription""WPLANG""posts_per_page""date_format""time_format""blog_charset"