Das Plugin konfigurieren
Das Plugin konfigurierenDie erlaubten Einträge der Einstellungen definieren

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: AnyBuiltInScalar
  • optionValues: [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:

  1. Benutzerdefiniert: in der entsprechenden Schema-Konfiguration
  2. 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:

Definition der Einträge für die Schema-Konfiguration

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

Definition der Einträge in den Einstellungen
Definition der Einträge in den Einstellungen

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
Definition des Zugriffsverhaltens
Definition des Zugriffsverhaltens

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"