WP GraphQL中无法获取ACF关系字段的值该如何解决?
排查配置步骤
- 首先检查ACF关系字段的GraphQL专属配置
进入WordPress后台ACF字段组编辑页面,找到对应sliderItems的关系字段,滚动到GraphQL设置区块:- 确认「Show in GraphQL」开关已开启
- 确认「GraphQL返回类型」选择的是
Fragment(即你fragments自定义文章类型注册的GraphQL单类型名),不要选择通用Post类型 - 若ACF字段设置为允许多选,确认schema中该字段类型为列表
[Fragment]而非单个Fragment类型
- 检查内容权限与状态配置
- 确认fragments自定义文章类型注册参数设置
public => true - 确认后台选中的关联fragments文章均为已发布状态,而非草稿、待审核等非公开状态
- 确认fragments自定义文章类型注册参数设置
- 检查自定义连接的字段关联规则
你自定义的destinations GraphQL连接对应的内容类型,需要在ACF字段组的「位置规则」中添加对应匹配规则,确保字段组会加载到该内容类型上,避免仅绑定了默认page类型导致自定义连接下字段无数据 - 开启Debug定位具体问题
在站点根目录wp-config.php中添加以下配置开启GraphQL调试:
define( 'GRAPHQL_DEBUG', true );
开启后重新执行查询即可看到具体报错信息,可根据报错快速定位是权限、类型不匹配还是解析逻辑的问题
- 兼容版本校验
若你使用的WPGraphQL核心版本≥1.14,需将wp-graphql-acf扩展升级到最新版本,旧版本扩展与新高版本核心存在类型解析兼容问题,会导致关系字段返回null
内容的提问来源于stack exchange,提问作者OleG
相关产品推荐
相关产品推荐

