Eklentiyi yapılandırma
Eklentiyi yapılandırmaEklentiyi Ayarlar sayfası, ortam değişkenleri, wp-config ve hook'lar ile yapılandırma

Eklentiyi Ayarlar sayfası, ortam değişkenleri, wp-config ve hook'lar ile yapılandırma

Eklentideki seçenekleri yapılandırmanın birkaç yolu vardır.

Ayarlar sayfası

Ayarlar sayfası, eklentiyi WordPress yönetim panelinden yapılandırmanızı sağlar.

Açmak için eklenti menüsündeki "Settings" bağlantısına tıklayın:

Ayarlar sayfasını açma

Ayarlar sekmeler halinde düzenlenmiştir; her sekme bir modüle karşılık gelir:

Ayarlar sayfası

Bir seçeneği güncelledikten sonra yeni değeri kaydetmek ve uygulamak için Save Changes düğmesine tıklayın.

Ortam değişkenleri ve wp-config sabitleri aracılığıyla

Ayarlar sayfasındaki tüm seçenekler, ortam değişkenleri ve wp-config.php dosyasında tanımlanan sabitler aracılığıyla da ayarlanabilir.

Seçenek değerini belirlemek için öncelik sırası şöyledir:

  1. Karşılık gelen ortam değişkeni varsa kullanılır
  2. wp-config.php dosyasında karşılık gelen sabit tanımlıysa kullanılır
  3. Aksi takdirde Ayarlar sayfasındaki değer kullanılır

Bir ortam değeri veya wp-config sabiti ekledikten ya da değiştirdikten sonra eklenti yapılandırması yeniden oluşturulmalıdır. Bunun için Ayarlar sayfasına gidin ve Save Changes düğmesine tıklayın.

Ortam değişkenleri

ModülSeçenekOrtam değişkeni
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 sabitleri

wp-config.php dosyasındaki sabitin adı, ortam değişkeninin adıyla aynıdır; önüne GATOGRAPHQL_ eklenir.

Örneğin, EDITING_ACCESS_SCHEME ortam değişkeni wp-config.php dosyasında GATOGRAPHQL_EDITING_ACCESS_SCHEME olarak tanımlanmalıdır.

Hook'lar aracılığıyla

Bir seçeneğin değerini hook aracılığıyla geçersiz kılabiliriz.

Her seçenek kendi hook'unu tetikler:

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

Hook adını elde etmek için şunları sağlamamız gerekir:

  • $componentConfigurationClass: Seçeneğin tanımlandığı paketteki ComponentConfiguration sınıfı
  • $envVariable: Ayarlanacak ortam değişkeninin adı

Hook tanımlama konusunda bir örneğe göz atın.