Настройка плагина через страницу параметров, переменные окружения, wp-config и хуки
Существует несколько способов настройки параметров плагина.
Страница параметров
Страница параметров позволяет настраивать плагин в административной панели WordPress.
Чтобы открыть её, нажмите на ссылку «Settings» в меню плагина:

Параметры организованы по вкладкам, каждая из которых соответствует отдельному модулю:

После изменения параметра нажмите кнопку Save Changes, чтобы сохранить и применить новое значение.
Через переменные окружения и константы wp-config
Все параметры со страницы параметров можно также задать через переменные окружения и константы, определённые в файле wp-config.php.
Приоритет при выборе значения параметра следующий:
- Если задана соответствующая переменная окружения, используется она
- Если задана соответствующая константа в
wp-config.php, используется она - В остальных случаях используется значение со страницы параметров
После добавления или изменения переменной окружения или константы wp-config конфигурацию плагина необходимо пересоздать. Для этого перейдите на страницу параметров и нажмите Save Changes.
Переменные окружения
| Модуль | Параметр | Переменная окружения |
|---|---|---|
| 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 |
Константы wp-config
Имя константы в файле wp-config.php совпадает с именем переменной окружения, к которому добавляется префикс GATOGRAPHQL_.
Например, переменная окружения EDITING_ACCESS_SCHEME должна быть определена как GATOGRAPHQL_EDITING_ACCESS_SCHEME в wp-config.php.
Через хуки
Можно переопределить значение параметра с помощью хука.
Каждый параметр вызывает собственный хук:
use PoP\ComponentModel\ComponentConfiguration\ComponentConfigurationHelpers;
$hookName = ComponentConfigurationHelpers::getHookName(
$componentConfigurationClass,
$envVariable
);
add_filter($hookName, 'myFunctionToOverrideSettingsValue', PHP_INT_MAX);Чтобы получить имя хука, необходимо указать:
$componentConfigurationClass: классComponentConfigurationиз пакета, в котором определён параметр$envVariable: имя переменной окружения для установки
Ознакомьтесь с примером настройки хука.