Định nghĩa các mục được phép của cài đặt
Với module Schema Settings, bạn có thể lấy các cài đặt của trang web (được lưu trong bảng wp_options), bằng cách truy vấn các trường optionValue, optionValues và optionObjectValue.
Các trường này có chữ ký khác nhau:
optionValue: AnyBuiltInScalaroptionValues: [AnyBuiltInScalar]optionObjectValue: JSONObject
Ví dụ, query này lấy URL của trang web:
{
homeURL: optionValue(name: "home")
}Vì lý do bảo mật, các tùy chọn có thể được truy vấn phải được cấu hình một cách rõ ràng.
Phản hồi cài đặt
Khi thực thi bất kỳ trường "optionValue" nào, nếu quyền truy cập vào tên tùy chọn không được cho phép trong Cài đặt, query sẽ trả về lỗi.
Ví dụ, khi thực thi query này:
{
optionValue(name: "nonExistentOption")
}Trả về:
{
"errors": [
{
"message": "There is no option with name 'nonExistentOption'",
"extensions": {
"type": "Root",
"id": "root",
"field": "optionValue(name:\"nonExistentOption\")"
}
}
],
"data": {
"option": null
}
}Ngược lại, phản hồi sẽ là giá trị của cài đặt có tên đã chỉ định.
Cấu hình các tùy chọn được phép
Chúng ta phải cấu hình danh sách tên tùy chọn có thể được truy vấn.
Mỗi mục có thể là:
- Một regex (biểu thức chính quy), nếu nó được bao quanh bởi
/hoặc#, hoặc - Tên tùy chọn đầy đủ, trong các trường hợp còn lại
Ví dụ, bất kỳ mục nào trong số này đều khớp với meta key "siteurl":
siteurl/site.*/#site([a-zA-Z]*)#
Có 2 nơi có thể thực hiện cấu hình này, theo thứ tự ưu tiên:
- Tùy chỉnh: Trong Schema Configuration tương ứng
- Chung: Trong trang Cài đặt
Trong Schema Configuration được áp dụng cho endpoint, hãy chọn tùy chọn "Use custom configuration" rồi nhập các mục mong muốn:

Nếu không, các mục được định nghĩa trong tab "Settings" của phần Cài đặt sẽ được sử dụng:

Có 2 hành vi, "Allow access" và "Deny access":
- Allow access: chỉ các mục được cấu hình mới có thể được truy cập, không có mục nào khác
- Deny access: các mục được cấu hình không thể được truy cập, tất cả các mục khác đều có thể

Tùy chọn mặc định
Khi plugin được cài đặt, các tùy chọn sau được định nghĩa sẵn là có thể truy cập:
"siteurl""home""blogname""blogdescription""WPLANG""posts_per_page""date_format""time_format""blog_charset"