Configurar o plugin
Configurar o pluginConfigurar o plugin pela página de Configurações, variáveis de ambiente, wp-config e hooks

Configurar o plugin pela página de Configurações, variáveis de ambiente, wp-config e hooks

Existem diversas formas de configurar as opções do plugin.

A página de Configurações

A página de Configurações permite configurar o plugin no painel administrativo do WordPress.

Para abri-la, clique no link "Settings" no menu do plugin:

Abrindo a página de Configurações

As configurações são organizadas em abas, onde cada aba corresponde a um módulo:

Página de Configurações

Após atualizar uma opção, clique no botão Save Changes para salvar e aplicar o novo valor.

Por variáveis de ambiente e constantes wp-config

Todas as opções da página de Configurações também podem ser definidas via variáveis de ambiente e constantes definidas no arquivo wp-config.php.

A prioridade para escolher o valor da opção é a seguinte:

  1. Se existir a variável de ambiente correspondente, ela é utilizada
  2. Se a constante correspondente estiver definida em wp-config.php, ela é utilizada
  3. Caso contrário, o valor da página de Configurações é utilizado

Após adicionar ou modificar uma variável de ambiente ou uma constante wp-config, a configuração do plugin deve ser regenerada. Para isso, acesse a página de Configurações e clique em Save Changes.

Variáveis de ambiente

MóduloOpçãoVariável de 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

Constantes wp-config

O nome da constante no arquivo wp-config.php é idêntico ao da variável de ambiente, acrescentando o prefixo GATOGRAPHQL_.

Por exemplo, a variável de ambiente EDITING_ACCESS_SCHEME deve ser definida como GATOGRAPHQL_EDITING_ACCESS_SCHEME em wp-config.php.

Via hooks

Podemos sobrescrever o valor de uma opção via um hook.

Cada opção aciona seu próprio hook:

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

Para obter o nome do hook, precisamos fornecer:

  • $componentConfigurationClass: A classe ComponentConfiguration do pacote onde a opção está definida
  • $envVariable: O nome da variável de ambiente a ser definida

Consulte um exemplo de como definir um hook.