Configurar el plugin
Configurar el pluginDefinir las entradas permitidas de los Settings

Definir las entradas permitidas de los Settings

Con el módulo Schema Settings, puedes recuperar los ajustes del sitio (almacenados en la tabla wp_options), consultando los campos optionValue, optionValues y optionObjectValue.

Estos campos tienen una firma diferente:

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

Por ejemplo, esta consulta recupera la URL del sitio:

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

Por motivos de seguridad, qué opciones se pueden consultar debe configurarse explícitamente.

Respuesta de Settings

Al ejecutar cualquier campo "optionValue", si el acceso al nombre de la opción no está permitido en los Ajustes, la consulta devuelve un error.

Por ejemplo, ejecutar esta consulta:

{
  optionValue(name: "nonExistentOption")
}

Devuelve:

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

En caso contrario, la respuesta es el valor del ajuste con el nombre especificado.

Configurar las opciones permitidas

Debemos configurar la lista de nombres de opción que se pueden consultar.

Cada entrada puede ser:

  • Una regex (expresión regular), si está rodeada por / o #, o
  • El nombre completo de la opción, en caso contrario

Por ejemplo, cualquiera de estas entradas coincide con la clave meta "siteurl":

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

Hay 2 lugares donde puede realizarse esta configuración, por orden de prioridad:

  1. Personalizado: En la Configuración del Esquema correspondiente
  2. General: En la página de Ajustes

En la Configuración del Esquema aplicada al endpoint, selecciona la opción "Use custom configuration" y luego introduce las entradas deseadas:

Definición de las entradas para la Configuración del Esquema

De lo contrario, se utilizarán las entradas definidas en la pestaña "Settings" de los Ajustes:

Definición de las entradas en los Ajustes
Definición de las entradas en los Ajustes

Hay 2 comportamientos, "Allow access" y "Deny access":

  • Allow access: sólo se puede acceder a las entradas configuradas, y no a ninguna otra
  • Deny access: no se puede acceder a las entradas configuradas, pero sí a todas las demás
Definición del comportamiento de acceso
Definición del comportamiento de acceso

Opciones por defecto

Cuando se instala el plugin, las siguientes opciones se predefinen como accesibles:

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