Configurer le plugin
Configurer le pluginDéfinir les entrées autorisées des paramètres

Définir les entrées autorisées des paramètres

Avec le module Schema Settings, vous pouvez récupérer les paramètres du site (stockés dans la table wp_options), en interrogeant les champs optionValue, optionValues et optionObjectValue.

Ces champs ont une signature différente :

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

Par exemple, cette requête récupère l'URL du site :

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

Pour des raisons de sécurité, les options pouvant être interrogées doivent être configurées explicitement.

Réponse des paramètres

Lors de l'exécution d'un champ "optionValue", si l'accès au nom de l'option n'est pas autorisé dans les Paramètres, la requête retourne une erreur.

Par exemple, l'exécution de cette requête :

{
  optionValue(name: "nonExistentOption")
}

Retourne :

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

Sinon, la réponse est la valeur du paramètre portant le nom spécifié.

Configurer les options autorisées

Nous devons configurer la liste des noms d'options pouvant être interrogés.

Chaque entrée peut être :

  • Une regex (expression régulière), si elle est entourée de / ou #, ou
  • Le nom complet de l'option, sinon

Par exemple, l'une ou l'autre de ces entrées correspond à la clé meta "siteurl" :

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

Il y a 2 endroits où cette configuration peut être effectuée, par ordre de priorité :

  1. Personnalisé : dans la Configuration du Schéma correspondante
  2. Général : dans la page des Paramètres

Dans la Configuration du Schéma appliquée à l'endpoint, sélectionnez l'option "Use custom configuration" puis saisissez les entrées souhaitées :

Définition des entrées pour la Configuration du Schéma

Sinon, les entrées définies dans l'onglet "Settings" des Paramètres seront utilisées :

Définition des entrées dans les Paramètres
Définition des entrées dans les Paramètres

Il y a 2 comportements, "Allow access" et "Deny access" :

  • Allow access : seules les entrées configurées sont accessibles, aucune autre ne l'est
  • Deny access : les entrées configurées ne sont pas accessibles, toutes les autres le sont
Définition du comportement d'accès
Définition du comportement d'accès

Options par défaut

Lorsque le plugin est installé, les options suivantes sont prédéfinies comme accessibles :

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