Configurar o plugin
Configurar o pluginDefinindo as entradas permitidas das configurações

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: AnyBuiltInScalar
  • optionValues: [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:

  1. Personalizado: na Configuração de Schema correspondente
  2. 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:

Definindo as entradas para a Configuração de Schema

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

Definindo as entradas nas Configurações
Definindo as entradas nas 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
Definindo o comportamento de acesso
Definindo o comportamento de acesso

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"