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: AnyBuiltInScalaroptionValues: [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:
- Personalizado: En la Configuración del Esquema correspondiente
- 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:

De lo contrario, se utilizarán las entradas definidas en la pestaña "Settings" de 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

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"