ACF 自定义字段 WP GraphQL 突然开始在 Gatsby 中返回 null,即使它曾经可以工作

Posted

技术标签:

【中文标题】ACF 自定义字段 WP GraphQL 突然开始在 Gatsby 中返回 null,即使它曾经可以工作【英文标题】:ACF Custom Fields WP GraphQL suddenly starts returning null in Gatsby even though it used to work 【发布时间】:2021-11-24 09:23:10 【问题描述】:

我使用 Wordpress 作为无头 CMS 来管理我的 Gatsby 网站中的内容。我使用高级自定义字段来创建自定义字段,以轻松管理字段和内容,以管理并拉入我的 Gatsby 应用程序。一切都很好,直到不久前我决定开始我的盖茨比项目并开始出现null 错误。我使用这个地址 localhost:8000/___graphql 访问了 Gatsby 上的 GraphQL 页面,在那里查询我的数据,结果发现我的所有字段现在都返回了 null

我还访问了远程 wordpress 页面以测试 GraphQL IDE,但那里一切正常。 我已经清除了我的 Gatsby 应用程序的缓存,但仍然遇到同样的错误。

这是一个名为 homePage 的自定义字段的此类查询示例

query MyQuery 
        wpPage 
          homePage 
            heroSubtitle
            heroTitle
            heroPlaystoreCtaText
            heroImage 
              localFile 
                childImageSharp 
                  gatsbyImageData(width: 614, height: 477, quality: 100, placeholder: BLURRED)
                
              
              altText
            
          
        
        

所有这些字段都返回 null,即使它们都在 7 小时前工作。最令人困惑的是,当我决定通过allWpPagenodes 进行查询时,同样的查询仍然有效。为什么它在这里工作而不是在特定的WpPage 查询上工作。第一个节点结果返回空,但第二个节点返回正确的数据。为什么突然停止工作?

query MyQuery 
  allWpPage 
    nodes 
      homePage 
        heroSubtitle
        heroTitle
        heroPlaystoreCtaText
        heroImage 
          localFile 
            childImageSharp 
              gatsbyImageData(width: 614, height: 477, quality: 100, placeholder: BLURRED)
            
          
          altText
        
      
    
  

任何帮助将不胜感激。谢谢!!!。

【问题讨论】:

【参考方案1】:

我终于发现它不起作用的原因是我添加了一个新页面,该页面向下移动了主页并导致它始终返回 null。我将我的查询修改为一般的wpPages 查询并通过/(Home Page) 进行过滤,从而得出主页的具体结果。这是我现在使用的查询:

query HeroQuery 
        hero: allWpPage(filter: uri: eq: "/") 
          edges 
            node 
              homePage 
                heroSubtitle
                heroTitle
                heroPlaystoreCtaText
                heroImage 
                  localFile 
                    childImageSharp 
                      gatsbyImageData(width: 614, height: 477, quality: 100, placeholder: BLURRED)
                    
                  
                  altText
                
              
            
          
        
        

【讨论】:

以上是关于ACF 自定义字段 WP GraphQL 突然开始在 Gatsby 中返回 null,即使它曾经可以工作的主要内容,如果未能解决你的问题,请参考以下文章

php 使用ACF选项页面的WP全局自定义字段

php 从WP管理员隐藏某些页面(基于ACF /自定义字段)

高级自定义字段 acf_form() 'uploader' => 'basic' 无法在前端显示完整的 wp 媒体上传器

在自定义分类模板中的 WP_Query 期间查询(2)ACF 发布对象

gatsby-source-graphql + ACF 字段未显示

查询ACF在自定义分类模板中的WP_Query期间发布对象