【问题标题】:Field doesn't exist in Gatsby GraphQL + WordPress (but works locally)Gatsby GraphQL + WordPress 中不存在字段(但在本地工作)
【发布时间】:2019-12-05 10:57:42
【问题描述】:

我正在使用 WordPress、Gatsby + GraphQL 来构建博客。昨天一切正常,我得到了 features_media 字段,但今天它刚刚停止工作,我收到这个错误,告诉我它无法查询该字段。 (WordPress 网站托管在 Bluehost 上)。

错误

wordpress__wp_media fetched : 0

Cannot query field "featured_media" on type "wordpress__POST"

GraphiQL 内部确实没有 features_media 字段,但是当我使用本地 Wordpress 网站时,它可以正常工作。

gatsby-config.js 文件

    {
      resolve: 'gatsby-source-wordpress',
      options: {
        baseUrl: process.env.WORDPRESS_URL,
        protocol: 'http',
        hostingWPCOM: false,
        useACF: false,
        auth: {}
      },
    },

GraphQL 查询:(这在本地工作)

      featured_media {
        alt_text
        localFile {
          childImageSharp {
            fluid(maxWidth: 600, quality: 100) {
              ...GatsbyImageSharpFluid
              presentationWidth
            }
          }
        }
      }

我没有太多使用 Gatsby + WordPress 制作博客的经验。

我尝试了什么:

  • 我将 Better REST API Featured Images 插件添加到了我的 WordPress 网站,但我只返回了 source_url
  • 我删除了 Bluehost 上的 WordPress 站点并创建了一个新站点,之后您可以编辑或添加帖子,但如果您删除任何帖子,则会引发相同的错误。

【问题讨论】:

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


    【解决方案1】:

    您是否尝试在更改 sourceURL 时使用 gatsby clean 删除缓存?

    不确定这是不是问题,但是当我更改源 URL 时 Gatsby 在我的 GraphQL 中找不到数据时,此选项可以解决我的大部分问题。

    希望对你有所帮助!

    【讨论】:

      【解决方案2】:

      这看起来与 gatsby-source-wordpress 插件中的一个持续存在的问题有关,此处描述:Troubleshooting for gatsby-source-wordpress

      基本上,一些图像在 Wordpress 中与某个 post_parent 耦合,当它们的 post_parent 对象变得不可访问时,它们可能变得不可访问。

      建议的解决方案是在您的 Wordpress 数据库中手动编辑 post_parent 并将其设置为 0,以便 post_parent 上的更改不会影响您的图像的可访问性。

      还有一个尊敬的change request for Wordpress

      【讨论】:

        猜你喜欢
        • 2018-03-21
        • 2019-10-22
        • 2019-07-24
        • 2018-07-21
        • 2021-08-15
        • 2013-12-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多