Configurer le plugin
Configurer le pluginConfigurer le plugin via la page de Réglages, les variables d'environnement, wp-config et les hooks

Configurer le plugin via la page de Réglages, les variables d'environnement, wp-config et les hooks

Il existe plusieurs façons de configurer les options du plugin.

La page de Réglages

La page de Réglages permet de configurer le plugin dans l'administration WordPress.

Pour l'ouvrir, cliquez sur le lien « Settings » dans le menu du plugin :

Ouverture de la page de Réglages

Les réglages sont organisés par onglets, chaque onglet correspondant à un module :

Page de Réglages

Après avoir mis à jour une option, cliquez sur le bouton Save Changes pour enregistrer et appliquer la nouvelle valeur.

Via les variables d'environnement et les constantes wp-config

Toutes les options de la page de Réglages peuvent également être définies via des variables d'environnement et des constantes définies dans le fichier wp-config.php.

La priorité pour choisir la valeur de l'option est la suivante :

  1. Si la variable d'environnement correspondante existe, elle est utilisée
  2. Si la constante correspondante est définie dans wp-config.php, elle est utilisée
  3. Sinon, la valeur de la page de Réglages est utilisée

Après avoir ajouté ou modifié une variable d'environnement ou une constante wp-config, la configuration du plugin doit être régénérée. Pour cela, accédez à la page de Réglages et cliquez sur Save Changes.

Variables d'environnement

ModuleOptionVariable d'environnement
Schema Editing AccessEditing Access SchemeEDITING_ACCESS_SCHEME
Single EndpointEndpoint PathGRAPHQL_API_ENDPOINT
Custom EndpointsEndpoint PathCUSTOM_ENDPOINT_SLUG_BASE
Persisted QueriesEndpoint PathPERSISTED_QUERY_SLUG_BASE
Graphiql For Single EndpointClient PathGRAPHIQL_CLIENT_ENDPOINT
Interactive Schema For Single EndpointClient PathVOYAGER_CLIENT_ENDPOINT
Public Private SchemaModeUSE_PRIVATE_SCHEMA_MODE
Public Private SchemaEnable GranularENABLE_INDIVIDUAL_CONTROL_FOR_PUBLIC_PRIVATE_SCHEMA_MODE
Schema NamespacingUse NamespacingNAMESPACE_TYPES_AND_INTERFACES
Nested MutationsEnable Nested MutationsENABLE_NESTED_MUTATIONS
Nested MutationsDisable redundant root type fieldsDISABLE_REDUNDANT_ROOT_TYPE_MUTATION_FIELDS
Cache ControlDefault Max AgeDEFAULT_CACHE_CONTROL_MAX_AGE
Schema PostsList Default LimitPOST_LIST_DEFAULT_LIMIT
Schema PostsList Max LimitPOST_LIST_MAX_LIMIT
Schema PostsAdd Type To Custom Post Union TypeADD_POST_TYPE_TO_CUSTOMPOST_UNION_TYPES
Schema UsersList Default LimitUSER_LIST_DEFAULT_LIMIT
Schema UsersList Max LimitUSER_LIST_MAX_LIMIT
Schema TagsList Default LimitTAG_LIST_DEFAULT_LIMIT
Schema TagsList Max LimitTAG_LIST_MAX_LIMIT
Schema PagesList Default LimitPAGE_LIST_DEFAULT_LIMIT
Schema PagesList Max LimitPAGE_LIST_MAX_LIMIT
Schema PagesAdd Type To Custom Post Union TypeADD_PAGE_TYPE_TO_CUSTOMPOST_UNION_TYPES
Schema Custom PostsList Default LimitCUSTOMPOST_LIST_DEFAULT_LIMIT
Schema Custom PostsList Max LimitCUSTOMPOST_LIST_MAX_LIMIT
Schema Custom PostsUse Single Type Instead Of Union TypeUSE_SINGLE_TYPE_INSTEAD_OF_CUSTOMPOST_UNION_TYPE

Constantes wp-config

Le nom de la constante dans le fichier wp-config.php est identique à celui de la variable d'environnement, en lui ajoutant le préfixe GATOGRAPHQL_.

Par exemple, la variable d'environnement EDITING_ACCESS_SCHEME doit être définie comme GATOGRAPHQL_EDITING_ACCESS_SCHEME dans wp-config.php.

Via les hooks

Nous pouvons remplacer la valeur d'une option via un hook.

Chaque option déclenche son propre hook :

use PoP\ComponentModel\ComponentConfiguration\ComponentConfigurationHelpers;
 
$hookName = ComponentConfigurationHelpers::getHookName(
    $componentConfigurationClass,
    $envVariable
);
add_filter($hookName, 'myFunctionToOverrideSettingsValue', PHP_INT_MAX);

Pour obtenir le nom du hook, nous devons fournir :

  • $componentConfigurationClass : La classe ComponentConfiguration du package où l'option est définie
  • $envVariable : Le nom de la variable d'environnement à définir

Consultez un exemple sur la façon de définir un hook.