如何在WPGraphQL查询中使用where子句筛选关联文章的Topics分类?
筛选关联文章的自定义分类Topics(WPGraphQL)
嘿,我来帮你搞定这个WPGraphQL的筛选问题!你要的是只返回关联了文章的Topics分类,完全不用在客户端做筛选,其实用WPGraphQL自带的筛选条件就能实现,不用额外折腾。
直接能用的查询示例
query GetTopicsWithPosts { topics( where: { postCount: { gt: 0 # 只留关联文章数大于0的分类 } } # 你原来的分页参数(first/last/after这些)直接放在这里就行 first: 10 ) { nodes { id name slug # 这里加你需要的其他分类字段就行 } } }
核心逻辑说明
postCount: { gt: 0 }是关键:这个条件会让WPGraphQL只返回那些至少关联了一篇文章的Topics分类,完美匹配你的需求。要是你想筛选关联文章数≥5的分类,把gt换成gte就行,还能用eq(等于)、lt(小于)这些操作符玩出更多花样。- 你提到的
childless参数其实是用来筛选没有子分类的父分类的,和是否关联文章没关系,所以这个参数不适合你的场景哦。
万一没找到postCount参数?
要是你的WPGraphQL版本比较老,或者自定义分类的GraphQL配置没开这个字段,记得做这两步:
- 把WPGraphQL插件更到最新版本,新版本默认就支持这个筛选条件。
- 如果你是自己注册的Topics分类,注册时要确保
show_in_graphql设为true,新版本一般会自动处理计数相关的GraphQL字段,不用额外配置。
内容的提问来源于stack exchange,提问作者Hcabnettek
相关产品推荐
相关产品推荐

