Definindo as entradas permitidas das configurações
Com o módulo Schema Settings, você pode recuperar as configurações do site (armazenadas na tabela wp_options), consultando os campos optionValue, optionValues e optionObjectValue.
Esses campos têm assinaturas diferentes:
optionValue: AnyBuiltInScalaroptionValues: [AnyBuiltInScalar]optionObjectValue: JSONObject
Por exemplo, esta query recupera a URL do site:
{
homeURL: optionValue(name: "home")
}Por razões de segurança, as opções que podem ser consultadas devem ser configuradas explicitamente.
Resposta das configurações
Ao executar qualquer campo "optionValue", se o acesso ao nome da opção não for permitido nas Configurações, a query retorna um erro.
Por exemplo, ao executar esta query:
{
optionValue(name: "nonExistentOption")
}Retorna:
{
"errors": [
{
"message": "There is no option with name 'nonExistentOption'",
"extensions": {
"type": "Root",
"id": "root",
"field": "optionValue(name:\"nonExistentOption\")"
}
}
],
"data": {
"option": null
}
}Caso contrário, a resposta é o valor da configuração com o nome especificado.
Configurando as opções permitidas
Devemos configurar a lista de nomes de opções que podem ser consultadas.
Cada entrada pode ser:
- Uma regex (expressão regular), se estiver delimitada por
/ou#, ou - O nome completo da opção, caso contrário
Por exemplo, qualquer uma dessas entradas corresponde à chave meta "siteurl":
siteurl/site.*/#site([a-zA-Z]*)#
Há 2 lugares onde essa configuração pode ser feita, em ordem de prioridade:
- Personalizado: na Configuração de Schema correspondente
- Geral: na página de Configurações
Na Configuração de Schema aplicada ao endpoint, selecione a opção "Use custom configuration" e insira as entradas desejadas:

Caso contrário, serão usadas as entradas definidas na aba "Settings" das Configurações:

Há 2 comportamentos, "Allow access" e "Deny access":
- Allow access: somente as entradas configuradas podem ser acessadas, nenhuma outra pode
- Deny access: as entradas configuradas não podem ser acessadas, todas as outras podem

Opções padrão
Quando o plugin é instalado, as seguintes opções são predefinidas como acessíveis:
"siteurl""home""blogname""blogdescription""WPLANG""posts_per_page""date_format""time_format""blog_charset"