Настройка плагина
Настройка плагинаНастройка плагина через страницу параметров, переменные окружения, wp-config и хуки

Настройка плагина через страницу параметров, переменные окружения, wp-config и хуки

Существует несколько способов настройки параметров плагина.

Страница параметров

Страница параметров позволяет настраивать плагин в административной панели 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_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: имя переменной окружения для установки

Ознакомьтесь с примером настройки хука.