我正在使用WordPress,Gatsby + GraphQL建立博客。昨天一切正常,我得到了featured_media字段,但是今天它停止了工作,并且出现此错误,告诉我它无法查询该字段。 (WordPress网站托管在Bluehost上。)
错误
wordpress__wp_media fetched : 0
Cannot query field "featured_media" on type "wordpress__POST"
在GraphiQL内部,确实没有feature_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
。答案 0 :(得分:1)
这似乎与该gatsby-source-wordpress
插件中的一个持续存在的问题有关,在这里进行了描述:Troubleshooting for gatsby-source-wordpress
基本上,某些图像在Wordpress中与特定的post_parent
耦合,并且在它们的post_parent
对象变得不可访问时变得不可访问。
建议的解决方案是在Wordpress数据库中手动编辑post_parent
并将其设置为0
,以使post_parent
上的更改不会影响图像的可访问性。
还有一个值得尊重的change request for Wordpress。
答案 1 :(得分:0)
您是否在更改sourceURL时尝试使用gatsby clean
删除缓存?
不确定这是问题所在,但是当我更改源URL时,当Gatsby在GraphQL中找不到数据时,此选项可以解决大多数问题。
希望对您有帮助!