Фрагменты запросов 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"