插件配置定义 Settings 的允许条目
定义 Settings 的允许条目
使用 Schema Settings 模块,您可以通过查询 optionValue、optionValues 和 optionObjectValue 字段,获取站点的设置(存储在 wp_options 表中)。
这些字段具有不同的签名:
optionValue: AnyBuiltInScalaroptionValues: [AnyBuiltInScalar]optionObjectValue: JSONObject
例如,以下 query 可获取站点的 URL:
{
homeURL: optionValue(name: "home")
}出于安全原因,可查询的选项必须明确配置。
Settings 响应
执行任何「optionValue」字段时,如果 Settings 中未允许访问该选项名称,query 将返回错误。
例如,执行以下 query:
{
optionValue(name: "nonExistentOption")
}将返回:
{
"errors": [
{
"message": "There is no option with name 'nonExistentOption'",
"extensions": {
"type": "Root",
"id": "root",
"field": "optionValue(name:\"nonExistentOption\")"
}
}
],
"data": {
"option": null
}
}否则,响应将是指定名称的设置值。
配置允许的选项
我们需要配置可查询的选项名称列表。
每个条目可以是:
- 正则表达式(regex),如果被
/或#包围, - 否则为完整的选项名称
例如,以下任一条目均可匹配元键 "siteurl":
siteurl/site.*/#site([a-zA-Z]*)#
此配置可在 2 个位置进行,按优先级排列:
- 自定义:在对应的 Schema Configuration 中
- 全局:在 Settings 页面中
在应用于端点的 Schema Configuration 中,选择选项 "Use custom configuration",然后输入所需的条目:

否则,将使用 Settings 中「Settings」标签页里定义的条目:

有 2 种行为,「Allow access」和「Deny access」:
- Allow access: 只有已配置的条目可以访问,其他条目均不可访问
- Deny access: 已配置的条目不可访问,所有其他条目均可访问

默认选项
安装插件后,以下选项默认预定义为可访问:
"siteurl""home""blogname""blogdescription""WPLANG""posts_per_page""date_format""time_format""blog_charset"