如何修复Gatsby GraphQL中不存在的字段?

时间:2019-06-07 09:52:13

标签: wordpress reactjs graphql gatsby wordpress-rest-api

我使用Wordpress,Gatsby + GraphQL,并且想要建立一个博客。不幸的是,所有博客文章都必须具有所有“功能”,例如特征图像

问题是当我删除所有帖子时。因此,我的博客现在为空,但gatsby构建失败,因为它希望存在特色图像。同样的问题是,如果我有帖子,但他们没有特色图片。如果我想成功运行gatsby,我至少需要一篇带有特色图片的帖子。

GraphQL查询示例

{
allWordpressPost {
    edges {
      node {
        id
        title
        content
        featured_media {
          source_url
        }
      }
    }
  }
}

错误

GraphQLError: Cannot query field "featured_media" on type "wordpress__POST".

我很担心,因为我唯一的解决方案是创建一个包含所有这些内容的虚拟帖子。如果我想为我的客户创建一个博客并且他删除了该虚拟帖子怎么办?有更好的方法吗?

我对gatsby的经验不多,所以很乐意提出建议。

谢谢

1 个答案:

答案 0 :(得分:-1)

我也遇到了类似的问题,但是没有看到更多代码,这只是一个猜测。当您在Post模板文件中呈现数据时,可以进行“不为空”检查。看起来像{data.featured_media !== null ? (<img src={{ data.source_url}} /> ) : null }