Gatsby GraphQL + WordPress 中不存在字段(但在本地工作)
Posted
技术标签:
【中文标题】Gatsby GraphQL + WordPress 中不存在字段(但在本地工作)【英文标题】:Field doesn't exist in Gatsby GraphQL + WordPress (but works locally) 【发布时间】: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 站点并创建了一个新站点,之后您可以编辑或添加帖子,但如果您删除任何帖子,则会引发相同的错误。
【问题讨论】:
【参考方案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。
【讨论】:
以上是关于Gatsby GraphQL + WordPress 中不存在字段(但在本地工作)的主要内容,如果未能解决你的问题,请参考以下文章
gatsby-source-graphql + ACF 字段未显示
使用 gatsby-source-graphql 时,GraphIQL 资源管理器未在 Gatsby 中显示
gatsby-source-prismic-graphql 查询结构