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:

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

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:
- Se existir a variável de ambiente correspondente, ela é utilizada
- Se a constante correspondente estiver definida em
wp-config.php, ela é utilizada - 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ódulo | Opção | Variável de ambiente |
|---|---|---|
| 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
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 classeComponentConfigurationdo 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.