我有一个Gatsby项目,并使用Wordpress作为源。我创建了一个名为“事件”的自定义帖子类型,该类型具有连接的ACF字段。 ACF字段之一是灵活的内容(content_events
)。
我正在使用以下查询,但是仅当帖子中包含所有这些灵活内容部分时才起作用,这意味着如果作者未添加我试图从中获取数据的那些内容之一,则GraphQL查询将失败。我收到以下错误:Fragment cannot be spread here as objects of type "WordPressAcf_large_textWordPressAcf_medium_textUnion" can never be of type "WordPressAcf_image".
我听说过Gatsby中的架构,但不确定如何实现?还是有其他解决方法?
当前查询:
query ($id: Int!) {
allWordpressWpEvents(filter: {wordpress_id: {eq: $id}}) {
edges {
node {
title
wordpress_id
acf {
signup_title
signup_text
location
date
image {
localFile {
childImageSharp {
fluid(maxWidth: 1440) {
...GatsbyImageSharpFluid_withWebp
}
}
}
}
content_events {
__typename
... on WordPressAcf_large_text {
id
text
}
... on WordPressAcf_medium_text {
id
text
}
... on WordPressAcf_image {
id
image {
localFile {
childImageSharp {
fluid(maxWidth: 1440) {
...GatsbyImageSharpFluid_withWebp
}
}
}
}
}
}
form_sections {
post_name
}
}
}
}
}
}