浏览、启用和禁用模块
Gato GraphQL 的所有功能都通过模块提供。点击插件菜单中的「Modules」即可访问:

每个模块都可以启用或禁用。其状态在表格中可见:
- 已启用的模块具有彩色背景
- 已禁用的模块具有白色背景
启用/禁用模块
将鼠标悬停在已禁用模块的名称上时,会显示链接 "Enable"。点击该链接即可启用该模块:

同样,将鼠标悬停在已启用模块的名称上时,会显示链接 "Disable"。点击该链接即可禁用该模块。
批量操作
此外,也可以勾选每个模块的复选框,然后从「Bulk actions」下拉菜单中选择 "Enable" 或 "Disable":

在公开端点和私有端点中禁用模块
禁用模块可以从 GraphQL 服务器中删除某些功能(例如:single endpoint),或从 GraphQL schema 中删除某些元素(例如:类型、字段或指令)。
「Schema 模块(Schema modules)」是指那些向 GraphQL schema 添加类型、字段或指令的模块(可在 Modules 页面的「Schema Type」和「Schema Directive」分类下找到)。通过禁用所有不需要的「Schema 模块」,可以提升 GraphQL API 的安全性,因为不应被访问的数据从一开始就不会暴露。
例如,禁用「Users」模块后,用户字段(QueryRoot.users、Post.author 等)将从 GraphQL schema 中移除。
因此,禁用端点(如上一节所述)始终对公开端点生效:
- Single endpoint
- Custom endpoints
- Persisted queries
但是,我们可能只想对访问者(即公开端点)限制对「Schema 模块」的访问,而不想限制站点管理员在私有端点上的访问,以免妨碍其使用完整 GraphQL schema 执行内部任务。
私有端点包括:
- 端点
wp-admin/edit.php?page=graphql_api&action=run_query(用于驱动管理员的 GraphiQL 和 Interactive Schema 客户端,也可从 WordPress 编辑器调用以向区块提供数据) - 自定义私有端点(同样用于向区块提供数据,但允许通过 PHP 钩子锁定其配置)
- 内部执行的 GraphQL queries(通过 PHP 中的
GraphQLServer类)
若要在私有端点上也禁用「Schema 模块」,需要在设置页面的「Plugin Configuration > Private Endpoints」标签中,勾选「Disable "Schema modules" in the private endpoints?」进行配置。

模块依赖关系
每个模块都可能依赖另一个模块。在这种情况下,如果被依赖的模块被禁用,依赖它的模块也会被禁用。
此信息在模块表格的 "Depends on" 列中可见:

例如,如果「Schema Configuration」模块被禁用,「Schema Namespacing」模块也会被禁用。
筛选模块
模块按类别分组:
- Plugin Management
- Endpoint
- Schema Configuration
- Access Control
- Versioning
- User Interface
- Performance
- Operational
- Client
- Schema Type
点击任意类别,将只显示对应的模块。

查看模块文档
点击模块描述下方的链接 "View details",即可阅读该模块的文档:

访问模块设置
将鼠标悬停在模块名称上时,会显示链接 "Settings"(除非该模块没有设置项)。
点击该链接将打开设置页面,并聚焦于该模块的标签页:
