De plugin configureren
De plugin configurerenDe toegestane vermeldingen van instellingen definiëren

De toegestane vermeldingen van instellingen definiëren

Met de Schema Settings-module kun je de instellingen van de site (opgeslagen in tabel wp_options) ophalen door de velden optionValue, optionValues en optionObjectValue te bevragen.

Deze velden hebben een andere signatuur:

  • optionValue: AnyBuiltInScalar
  • optionValues: [AnyBuiltInScalar]
  • optionObjectValue: JSONObject

Deze query haalt bijvoorbeeld de URL van de site op:

{
  homeURL: optionValue(name: "home")
}

Om veiligheidsredenen moeten de opties die kunnen worden bevraagd expliciet worden geconfigureerd.

Reactie van instellingen

Bij het uitvoeren van een "optionValue"-veld geeft de query een fout terug als toegang tot de optienaam niet is toegestaan in de instellingen.

Bijvoorbeeld, het uitvoeren van deze query:

{
  optionValue(name: "nonExistentOption")
}

Geeft terug:

{
  "errors": [
    {
      "message": "There is no option with name 'nonExistentOption'",
      "extensions": {
        "type": "Root",
        "id": "root",
        "field": "optionValue(name:\"nonExistentOption\")"
      }
    }
  ],
  "data": {
    "option": null
  }
}

Anders is de reactie de waarde van de instelling met de opgegeven naam.

De toegestane opties configureren

Je moet de lijst met optienamen configureren die kunnen worden bevraagd.

Elke vermelding kan zijn:

  • Een regex (reguliere expressie), als deze omgeven is door / of #, of
  • De volledige optienaam, in andere gevallen

Elk van deze vermeldingen komt bijvoorbeeld overeen met de meta-sleutel "siteurl":

  • siteurl
  • /site.*/
  • #site([a-zA-Z]*)#

Er zijn 2 plaatsen waar deze configuratie kan worden uitgevoerd, in volgorde van prioriteit:

  1. Aangepast: in de bijbehorende Schemaconfiguratie
  2. Algemeen: op de pagina Instellingen

Selecteer in de Schemaconfiguratie die op het endpoint is toegepast de optie "Use custom configuration" en voer de gewenste vermeldingen in:

De vermeldingen voor de Schemaconfiguratie definiëren

Anders worden de vermeldingen gebruikt die zijn gedefinieerd in het tabblad “Settings” van de Instellingen:

De vermeldingen in de Instellingen definiëren
De vermeldingen in de Instellingen definiëren

Er zijn 2 gedragingen: “Allow access” en “Deny access”:

  • Allow access: alleen de geconfigureerde vermeldingen zijn toegankelijk, geen andere
  • Deny access: de geconfigureerde vermeldingen zijn niet toegankelijk, alle andere vermeldingen wel
Het toegangsgedrag definiëren
Het toegangsgedrag definiëren

Standaardopties

Wanneer de plugin wordt geïnstalleerd, zijn de volgende opties vooraf gedefinieerd als toegankelijk:

  • "siteurl"
  • "home"
  • "blogname"
  • "blogdescription"
  • "WPLANG"
  • "posts_per_page"
  • "date_format"
  • "time_format"
  • "blog_charset"