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 小时前工作。最令人困惑的是,当我决定通过allWpPage
和nodes
进行查询时,同样的查询仍然有效。为什么它在这里工作而不是在特定的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 从WP管理员隐藏某些页面(基于ACF /自定义字段)
高级自定义字段 acf_form() 'uploader' => 'basic' 无法在前端显示完整的 wp 媒体上传器
在自定义分类模板中的 WP_Query 期间查询(2)ACF 发布对象