Configurare il plugin
Configurare il pluginConfigurare il plugin tramite la pagina Impostazioni, le variabili d'ambiente, wp-config e gli hook

Configurare il plugin tramite la pagina Impostazioni, le variabili d'ambiente, wp-config e gli hook

Esistono diversi modi per configurare le opzioni del plugin.

La pagina Impostazioni

La pagina Impostazioni consente di configurare il plugin nell'amministrazione di WordPress.

Per aprirla, fai clic sul link «Settings» nel menu del plugin:

Apertura della pagina Impostazioni

Le impostazioni sono organizzate in schede, dove ogni scheda corrisponde a un modulo:

Pagina Impostazioni

Dopo aver aggiornato un'opzione, fai clic sul pulsante Save Changes per salvare e applicare il nuovo valore.

Tramite le variabili d'ambiente e le costanti wp-config

Tutte le opzioni della pagina Impostazioni possono anche essere definite tramite variabili d'ambiente e costanti definite nel file wp-config.php.

La priorità per scegliere il valore dell'opzione è la seguente:

  1. Se esiste la variabile d'ambiente corrispondente, viene utilizzata
  2. Se la costante corrispondente è definita in wp-config.php, viene utilizzata
  3. Altrimenti, viene utilizzato il valore della pagina Impostazioni

Dopo aver aggiunto o modificato una variabile d'ambiente o una costante wp-config, la configurazione del plugin deve essere rigenerata. Per farlo, accedi alla pagina Impostazioni e fai clic su Save Changes.

Variabili d'ambiente

ModuloOpzioneVariabile d'ambiente
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

Costanti wp-config

Il nome della costante nel file wp-config.php è identico a quello della variabile d'ambiente, anteponendole il prefisso GATOGRAPHQL_.

Ad esempio, la variabile d'ambiente EDITING_ACCESS_SCHEME deve essere definita come GATOGRAPHQL_EDITING_ACCESS_SCHEME in wp-config.php.

Tramite gli hook

Possiamo sovrascrivere il valore di un'opzione tramite un hook.

Ogni opzione attiva il proprio hook:

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

Per ottenere il nome dell'hook, dobbiamo fornire:

  • $componentConfigurationClass: La classe ComponentConfiguration del package in cui è definita l'opzione
  • $envVariable: Il nome della variabile d'ambiente da impostare

Consulta un esempio su come definire un hook.