Cấu hình plugin
Cấu hình pluginCấu hình plugin qua trang Cài đặt, biến môi trường, wp-config và hook

Cấu hình plugin qua trang Cài đặt, biến môi trường, wp-config và hook

Có nhiều cách để cấu hình các tùy chọn trong plugin.

Trang Cài đặt

Trang Cài đặt cho phép cấu hình plugin trong phần quản trị WordPress.

Để mở trang này, nhấp vào liên kết "Settings" trong menu của plugin:

Mở trang Cài đặt

Các cài đặt được tổ chức theo tab, trong đó mỗi tab tương ứng với một module:

Trang Cài đặt

Sau khi cập nhật một tùy chọn, nhấp vào nút Save Changes để lưu và áp dụng giá trị mới.

Qua biến môi trường và hằng số wp-config

Tất cả các tùy chọn trên trang Cài đặt cũng có thể được thiết lập thông qua biến môi trường và các hằng số được định nghĩa trong file wp-config.php.

Thứ tự ưu tiên để chọn giá trị tùy chọn như sau:

  1. Nếu có biến môi trường tương ứng, nó sẽ được sử dụng
  2. Nếu có hằng số tương ứng được định nghĩa trong wp-config.php, nó sẽ được sử dụng
  3. Nếu không, giá trị từ trang Cài đặt sẽ được sử dụng

Sau khi thêm hoặc chỉnh sửa một biến môi trường hoặc hằng số wp-config, cấu hình plugin phải được tạo lại. Để làm điều đó, hãy vào trang Cài đặt và nhấp vào Save Changes.

Biến môi trường

ModuleTùy chọnBiến môi trường
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

Hằng số wp-config

Tên của hằng số trong file wp-config.php giống với tên biến môi trường, nhưng được thêm tiền tố GATOGRAPHQL_.

Ví dụ, biến môi trường EDITING_ACCESS_SCHEME phải được định nghĩa là GATOGRAPHQL_EDITING_ACCESS_SCHEME trong wp-config.php.

Qua hook

Chúng ta có thể ghi đè giá trị của một tùy chọn thông qua hook.

Mỗi tùy chọn kích hoạt hook riêng của nó:

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

Để lấy tên hook, chúng ta cần cung cấp:

  • $componentConfigurationClass: Class ComponentConfiguration từ package, nơi tùy chọn được định nghĩa
  • $envVariable: Tên của biến môi trường cần thiết lập

Vui lòng xem một ví dụ về cách thiết lập hook.