WPGraphQL如何按自定义分类法术语查询自定义文章类型
通过自定义分类法筛选自定义文章类型的 GraphQL 查询方案
WPGraphQL 针对正确注册的自定义文章类型和自定义分类法,会自动生成和原生 categoryIn 逻辑一致的筛选参数,完全可以满足你的查询需求。
前置确认
首先要保证你的自定义内容已经开启了 GraphQL 支持:
- 注册自定义文章类型「Courses」时,参数中配置
show_in_graphql为true,且设置了对应的graphql_name(默认一般为courses) - 注册自定义分类法「City」「Subject」时,同样配置
show_in_graphql为true,对应graphql_name一般为city、subject
适配你场景的查询示例
你需要筛选城市为Warsaw、科目为excel的课程,可直接按分类法别名(slug)查询,代码如下:
query FilterTargetCourses { courses(where: { city: "warsaw", subject: "excel" }) { nodes { title # 可自行添加需要返回的其他字段 } } }
如果需要按分类法ID筛选,和你给出的原生posts查询逻辑完全一致,对应参数为 cityIn、subjectIn,示例如下(假设Warsaw的分类ID为5,Excel的分类ID为12):
query FilterCoursesByTaxonomyId { courses(where: { cityIn: [5], subjectIn: [12] }) { nodes { title } } }
扩展说明
- 所有开启了GraphQL支持的自定义分类法,都会自动生成
{分类法graphql名称}In这类批量筛选参数,用法和原生categoryIn完全相同 - 如需多条件逻辑组合(比如或逻辑、排除指定分类),可使用
taxQuery参数实现更复杂的筛选需求
内容的提问来源于stack exchange,提问作者Marek Foltas
相关产品推荐
相关产品推荐

