wordpress - 多种帖子类型的 WPGraphQL 查询片段
问题描述
我想创建一个查询片段,可用于查询共享相同属性的常规 WordPress 帖子和自定义帖子类型。假设我有以下使用 graphql 别名的代码:
query getData($includeCategory: Boolean!) {
wp {
data1: customPostTypes(where: {categoryName: "Exammple 1"}, first: 3) {
nodes {
...dataFragment
}
}
data2: posts(first:3) {
nodes {
...dataFragment
}
}
data3: customPostTypes(where: {categoryName:"Example 2"}, first: 3) {
nodes {
...dataFragment
}
}
}
}
和一个如下所示的查询片段:
fragment dataFragment on WP_CustomPostType {
title
uri
status
id
categories @include(if: $includeCategory) {
nodes {
name
}
}
}
因为我必须定义片段将用于的字段类型,所以它使我无法将它用于我想要的所有帖子类型。上面的示例仅适用于 customPostTypes 而不是帖子,因为需要为此定义的字段是WP_Post
这纯粹是为了化妆品,但如果只为具有相同属性的帖子类型/自定义帖子类型重用一个片段,那就太棒了。
有没有一种方法可以为我的所有帖子类型使用一个查询片段?
更新
这个问题很相似,但是在使用 WPGraphQL 和自定义帖子类型时,使用如下代码:
exports.sourceNodes = ({ actions }) => {
const { createTypes } = actions
const typeDefs = `
interface PostType {
title: String
uri: String!
status: String!
id: ID!
}
type Work implements Node & PostType {
title: String
uri: String!
status: String!
id: ID!
}
type Post implements Node & PostType {
title: String
uri: String!
status: String!
id: ID!
}
`
createTypes(typeDefs)
}
产生错误:UNHANDLED REJECTION Schema must contain uniquely named types but contains multiple types named "WP_Work"
解决方案
推荐阅读
- node.js - 向数据库添加路径时无法连接到 mongodb 容器
- flutter - 避免 ListView 不必要的刷新
- flutter - 取消 dart.async.StreamSubscription 的实例
- javascript - 模态内容不更新
- aws-cli - 扫描列表中不存在的嵌套 Map
- java - 遇到错误:java.util.Set<> 无法转换为 java.lang.Integer
- css - 增加引导图的高度
- javascript - 被测试方法使用的组件方法的Vue Mock返回值
- regex - 下一个单词的 GREP 跟随包含变量的字符串
- python - 根据用户输入过滤配置字典 - Python