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 :

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

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 :
- Si la variable d'environnement correspondante existe, elle est utilisée
- Si la constante correspondante est définie dans
wp-config.php, elle est utilisée - 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
| Module | Option | Variable d'environnement |
|---|---|---|
| Schema Editing Access | Editing Access Scheme | EDITING_ACCESS_SCHEME |
| Single Endpoint | Endpoint Path | GRAPHQL_API_ENDPOINT |
| Custom Endpoints | Endpoint Path | CUSTOM_ENDPOINT_SLUG_BASE |
| Persisted Queries | Endpoint Path | PERSISTED_QUERY_SLUG_BASE |
| Graphiql For Single Endpoint | Client Path | GRAPHIQL_CLIENT_ENDPOINT |
| Interactive Schema For Single Endpoint | Client Path | VOYAGER_CLIENT_ENDPOINT |
| Public Private Schema | Mode | USE_PRIVATE_SCHEMA_MODE |
| Public Private Schema | Enable Granular | ENABLE_INDIVIDUAL_CONTROL_FOR_PUBLIC_PRIVATE_SCHEMA_MODE |
| Schema Namespacing | Use Namespacing | NAMESPACE_TYPES_AND_INTERFACES |
| Nested Mutations | Enable Nested Mutations | ENABLE_NESTED_MUTATIONS |
| Nested Mutations | Disable redundant root type fields | DISABLE_REDUNDANT_ROOT_TYPE_MUTATION_FIELDS |
| Cache Control | Default Max Age | DEFAULT_CACHE_CONTROL_MAX_AGE |
| Schema Posts | List Default Limit | POST_LIST_DEFAULT_LIMIT |
| Schema Posts | List Max Limit | POST_LIST_MAX_LIMIT |
| Schema Posts | Add Type To Custom Post Union Type | ADD_POST_TYPE_TO_CUSTOMPOST_UNION_TYPES |
| Schema Users | List Default Limit | USER_LIST_DEFAULT_LIMIT |
| Schema Users | List Max Limit | USER_LIST_MAX_LIMIT |
| Schema Tags | List Default Limit | TAG_LIST_DEFAULT_LIMIT |
| Schema Tags | List Max Limit | TAG_LIST_MAX_LIMIT |
| Schema Pages | List Default Limit | PAGE_LIST_DEFAULT_LIMIT |
| Schema Pages | List Max Limit | PAGE_LIST_MAX_LIMIT |
| Schema Pages | Add Type To Custom Post Union Type | ADD_PAGE_TYPE_TO_CUSTOMPOST_UNION_TYPES |
| Schema Custom Posts | List Default Limit | CUSTOMPOST_LIST_DEFAULT_LIMIT |
| Schema Custom Posts | List Max Limit | CUSTOMPOST_LIST_MAX_LIMIT |
| Schema Custom Posts | Use Single Type Instead Of Union Type | USE_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 classeComponentConfigurationdu 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.