WPGraphQL自定义文章类型按双taxonomy联合筛选结果异常求助
问题原因
你的查询结果不符合预期是因为没有明确指定多个分类法筛选的逻辑关系为AND,WPGraphQL默认的多分类筛选逻辑为OR,只要满足任意一个分类条件就会返回对应内容,所以出现了同时命中爱沙尼亚、拉脱维亚两个国家的结果。
正确查询写法
使用WPGraphQL内置的taxQuery参数,把两个分类筛选条件放到同一个条件组内,指定relation: AND要求同时满足所有规则即可:
query FilterExperienceByTaxonomies { experiences(where: { postType: EXPERIENCE, taxQuery: { relation: AND, taxArray: [ # 第一个筛选规则:国家分类等于estonia { taxonomy: EXPERIENCE_COUNTRIES, field: SLUG, terms: "estonia" }, # 第二个筛选规则:业务领域分类等于all { taxonomy: PRACTICE_AREA_CATEGORY, field: SLUG, terms: "all" } ] } }) { nodes { id title # 此处补充你需要返回的其他文章字段 } } }
注意事项
- 请替换代码中分类法的枚举值(
EXPERIENCE_COUNTRIES、PRACTICE_AREA_CATEGORY)为你自己注册分类时设置的GraphQL枚举名,和schema保持一致即可 - 如果你是按分类ID而非slug筛选,把
field: SLUG修改为field: TERM_ID,同时把terms对应改为分类ID值即可
内容的提问来源于stack exchange,提问作者asdasd
相关产品推荐
相关产品推荐

