插件配置
插件配置通过设置页面、环境变量、wp-config 和 hooks 配置插件

通过设置页面、环境变量、wp-config 和 hooks 配置插件

插件选项有多种配置方式。

设置页面

设置页面可在 WordPress 管理后台对插件进行配置。

要打开它,请点击插件菜单中的「Settings」链接:

打开设置页面

设置按标签页组织,每个标签页对应一个模块:

设置页面

更新选项后,点击 Save Changes 按钮以保存并应用新值。

通过环境变量和 wp-config 常量

设置页面上的所有选项也可通过环境变量以及在 wp-config.php 文件中定义的常量来设置。

选项值的优先级如下:

  1. 如果存在对应的环境变量,则使用该变量
  2. 如果在 wp-config.php 中定义了对应的常量,则使用该常量
  3. 否则,使用设置页面中的值

添加或修改环境变量或 wp-config 常量后,必须重新生成插件配置。为此,请前往设置页面并点击 Save Changes

环境变量

模块选项环境变量
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 常量

wp-config.php 文件中的常量名称与环境变量相同,但需在前面加上 GATOGRAPHQL_

例如,环境变量 EDITING_ACCESS_SCHEMEwp-config.php 中必须定义为 GATOGRAPHQL_EDITING_ACCESS_SCHEME

通过 hooks

我们可以通过 hook 来覆盖某个选项的值。

每个选项都会触发其对应的 hook:

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

要获取 hook 名称,需要提供:

  • $componentConfigurationClass:定义该选项的包中的 ComponentConfiguration
  • $envVariable:要设置的环境变量名称

请参阅此示例了解如何设置 hook。