Konfiguracja wtyczki
Konfiguracja wtyczkiDefiniowanie dozwolonych wpisów ustawień

Definiowanie dozwolonych wpisów ustawień

Za pomocą modułu Schema Settings możesz pobierać ustawienia witryny (przechowywane w tabeli wp_options), odpytując pola optionValue, optionValues i optionObjectValue.

Pola te mają różne sygnatury:

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

Na przykład to query pobiera adres URL witryny:

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

Ze względów bezpieczeństwa opcje, które mogą być odpytywane, muszą być jawnie skonfigurowane.

Odpowiedź ustawień

Podczas wykonywania dowolnego pola „optionValue", jeśli dostęp do nazwy opcji nie jest dozwolony w ustawieniach, query zwraca błąd.

Na przykład wykonanie tego query:

{
  optionValue(name: "nonExistentOption")
}

Zwraca:

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

W przeciwnym razie odpowiedzią jest wartość ustawienia o podanej nazwie.

Konfigurowanie dozwolonych opcji

Należy skonfigurować listę nazw opcji, które mogą być odpytywane.

Każdy wpis może być:

  • Wyrażeniem regularnym (regex), jeśli jest otoczone znakami / lub #, lub
  • Pełną nazwą opcji w przeciwnym razie

Na przykład każdy z tych wpisów pasuje do klucza meta "siteurl":

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

Istnieją 2 miejsca, w których można przeprowadzić tę konfigurację, w kolejności priorytetu:

  1. Niestandardowe: w odpowiedniej Konfiguracji Schematu
  2. Ogólne: na stronie Ustawień

W Konfiguracji Schematu zastosowanej do endpointu wybierz opcję "Use custom configuration" i wprowadź żądane wpisy:

Definiowanie wpisów dla Konfiguracji Schematu

W przeciwnym razie zostaną użyte wpisy zdefiniowane w zakładce „Settings" w Ustawieniach:

Definiowanie wpisów w Ustawieniach
Definiowanie wpisów w Ustawieniach

Istnieją 2 zachowania: „Allow access" i „Deny access":

  • Allow access: dostępne są tylko skonfigurowane wpisy, żadne inne nie mogą być dostępne
  • Deny access: skonfigurowane wpisy nie mogą być dostępne, wszystkie inne wpisy mogą
Definiowanie zachowania dostępu
Definiowanie zachowania dostępu

Opcje domyślne

Po zainstalowaniu wtyczki następujące opcje są wstępnie zdefiniowane jako dostępne:

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