De plugin configureren
De plugin configurerenDe plugin configureren via de Instellingenpagina, omgevingsvariabelen, wp-config en hooks

De plugin configureren via de Instellingenpagina, omgevingsvariabelen, wp-config en hooks

Er zijn verschillende manieren om de opties van de plugin te configureren.

De Instellingenpagina

De Instellingenpagina maakt het mogelijk om de plugin te configureren in het WordPress-beheerderspaneel.

Om deze te openen, klik je op de link "Settings" in het menu van de plugin:

De Instellingenpagina openen

De instellingen zijn georganiseerd in tabbladen, waarbij elk tabblad overeenkomt met een module:

Instellingenpagina

Na het bijwerken van een optie klik je op de knop Save Changes om de nieuwe waarde op te slaan en toe te passen.

Via omgevingsvariabelen en wp-config-constanten

Alle opties van de Instellingenpagina kunnen ook worden ingesteld via omgevingsvariabelen en constanten die zijn gedefinieerd in het wp-config.php-bestand.

De prioriteit voor het kiezen van de optiewaarde is als volgt:

  1. Als de bijbehorende omgevingsvariabele bestaat, wordt deze gebruikt
  2. Als de bijbehorende constante is gedefinieerd in wp-config.php, wordt deze gebruikt
  3. Anders wordt de waarde van de Instellingenpagina gebruikt

Na het toevoegen of wijzigen van een omgevingsvariabele of wp-config-constante moet de pluginconfiguratie opnieuw worden gegenereerd. Ga daarvoor naar de Instellingenpagina en klik op Save Changes.

Omgevingsvariabelen

ModuleOptieOmgevingsvariabele
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

wp-config-constanten

De naam van de constante in het wp-config.php-bestand is hetzelfde als de omgevingsvariabele, met het voorvoegsel GATOGRAPHQL_.

Omgevingsvariabele EDITING_ACCESS_SCHEME moet bijvoorbeeld worden gedefinieerd als GATOGRAPHQL_EDITING_ACCESS_SCHEME in wp-config.php.

Via hooks

Je kunt de waarde van een optie overschrijven via een hook.

Elke optie activeert zijn eigen hook:

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

Om de hooknaam te verkrijgen, moeten we het volgende opgeven:

  • $componentConfigurationClass: De ComponentConfiguration-klasse uit het pakket waar de optie is gedefinieerd
  • $envVariable: De naam van de in te stellen omgevingsvariabele

Bekijk een voorbeeld van het instellen van een hook.