Gatsby Wordpress在GraphQL模式中使用createTypes来查找缺少的ACF字段

Gatsby Wordpress在GraphQL模式中使用createTypes来查找缺少的ACF字段,graphql,gatsby,Graphql,Gatsby,我使用的是盖茨比源wordpress。如果我有一个ACF repeater字段,在另一个字段中,例如Link,如果任何帖子有一个空字段,我会得到一个错误-例如: “-类型“wordpress\uuu POSTAcf”上的未知字段“partners”。” 我的graphQL如下所示 { allWordpressPost { edges { node { title acf { project_students par

我使用的是盖茨比源wordpress。如果我有一个ACF repeater字段,在另一个字段中,例如Link,如果任何帖子有一个空字段,我会得到一个错误-例如: “-类型“wordpress\uuu POSTAcf”上的未知字段“partners”。”

我的graphQL如下所示

{
 allWordpressPost {
   edges {
     node {
       title
       acf {
         project_students
         partners {
           partner_link {
             title
             url
             target
           }
         }
       }
     }
   }
 }
}

我一直在尝试遵循这一点,为ACF字段至少得到一个空的或空的字段,我可以在JS中处理,现在盖茨比不会构建。以下是我对wordpress不太了解的盖茨比文档:

我在gatsby-node.js中尝试了以下内容,但到目前为止还不起作用

// using Gatsby Type Builder API
exports.sourceNodes = ({ actions, schema }) => {
  const { createTypes } = actions;
  const typeDefs = [
    schema.buildObjectType({
      name: "wordpressPost",
      acf: {
        partners: {
          partner_link: {
            title: "String!",
            url: "String!",
            target: "String!",
          }
        }
      },
      interfaces: ["Node"],
      extensions: {
        infer: false
      }
    })
  ];
  createTypes(typeDefs);
};

就在你身边。这些文档留下了很多猜测工作,这在我们的领域非常昂贵。你有没有在没有黑客的情况下弄明白这件事?现在我正在做一个hack,我用虚拟内容填充第一行以供graphql推断,然后在前端迭代时跳过第一行。。。很难看,但很管用。我希望模式定义能起作用,就像你一样,我不能让它起作用,因为他们的文档没有解释如何将定义连接到模式类型。我在创建模式方面没有做得太远,就像我在上面尝试做的那样。在盖茨比的最新版本中,我注意到CLI中有提示模式的信息。不过,我也一直在尝试让wordpress正确创建空字段。据我所知,您需要按照gatsby wordpress源代码页中的建议向functions.php或插件添加代码,并创建一些虚拟内容以防止出错。我最近在这里评论:关于这个。仍然在寻找一个像样的解决方案是的,我也有无效字段,这在大多数情况下都有效。但我有一组关系,可以采用一种或另一种帖子类型,在这两种类型之间有一组字段,只有一个有,这导致了一个未知字段问题。不幸的是,没有一个文档涵盖这样的情况,我也无法让createSchemaCustomization进行合作。如果我能找到一种不违反我个人代码标准的方法,我会告诉你的