Konfiguracja wtyczki
Konfiguracja wtyczkiKonfigurowanie wtyczki przez stronę Ustawień, zmienne środowiskowe, wp-config i hooki

Konfigurowanie wtyczki przez stronę Ustawień, zmienne środowiskowe, wp-config i hooki

Istnieje kilka sposobów konfigurowania opcji wtyczki.

Strona Ustawień

Strona Ustawień umożliwia konfigurowanie wtyczki w panelu administracyjnym WordPress.

Aby ją otworzyć, kliknij link "Settings" w menu wtyczki:

Otwieranie strony Ustawień

Ustawienia są zorganizowane w zakładki, gdzie każda zakładka odpowiada jednemu modułowi:

Strona Ustawień

Po zaktualizowaniu opcji kliknij przycisk Save Changes, aby zapisać i zastosować nową wartość.

Przez zmienne środowiskowe i stałe wp-config

Wszystkie opcje ze strony Ustawień można również ustawić za pomocą zmiennych środowiskowych oraz stałych zdefiniowanych w pliku wp-config.php.

Priorytet wyboru wartości opcji jest następujący:

  1. Jeśli istnieje odpowiednia zmienna środowiskowa, jest ona używana
  2. Jeśli odpowiednia stała jest zdefiniowana w wp-config.php, jest ona używana
  3. W przeciwnym razie używana jest wartość ze strony Ustawień

Po dodaniu lub zmodyfikowaniu zmiennej środowiskowej lub stałej wp-config konfiguracja wtyczki musi zostać wygenerowana ponownie. W tym celu przejdź do strony Ustawień i kliknij Save Changes.

Zmienne środowiskowe

ModułOpcjaZmienna środowiskowa
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

Stałe wp-config

Nazwa stałej w pliku wp-config.php jest identyczna z nazwą zmiennej środowiskowej, z dodanym prefiksem GATOGRAPHQL_.

Na przykład zmienna środowiskowa EDITING_ACCESS_SCHEME musi być zdefiniowana jako GATOGRAPHQL_EDITING_ACCESS_SCHEME w wp-config.php.

Przez hooki

Możemy nadpisać wartość opcji za pomocą hooka.

Każda opcja wyzwala własny hook:

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

Aby uzyskać nazwę hooka, musimy podać:

  • $componentConfigurationClass: Klasa ComponentConfiguration z pakietu, w którym opcja jest zdefiniowana
  • $envVariable: Nazwa zmiennej środowiskowej do ustawienia

Zapoznaj się z przykładem definiowania hooka.