使用WPGraphQL插件将数据拉入Gatsby站点

时间:2019-07-29 13:53:30

标签: wordpress graphql gatsby

我正在尝试使wpgraphql与Gatsby一起使用(按照本教程中的说明:https://www.youtube.com/watch?v=DH7I1xRrbxs)。

在我的gatsby-config文件中,我按照以下步骤设置了gatsby-source-graphql插件

{
  resolve: `gatsby-source-graphql`,
  options: {
    typeName: 'WORDPRESS',
    fieldName: 'wordpress',
    url: 'URL_GOES_HERE',
    refetchInterval: 60,
  },
},

现在,如果我使用以下URL(出于演示目的),则一切正常:https://api.wpgraphql.com/graphql

但是,如果我使用以下URL,则它不起作用:https://wordpress-285784-933130.cloudwaysapps.com/graphql

第二个URL来自我的Wordpress安装-据我所知,我的wordpress网站上的所有设置都很好。我安装了以下插件:

  • wpgraphql
  • wpgraphiql
  • WPGraphQL自定义帖子类型用户界面
  • 用于高级自定义字段的WPGraphQL
  • 自定义帖子类型用户界面
  • 高级自定义字段

并且我已经确保将“自定义帖子类型” UI和“高级自定义字段”设置为与wpgraphql一起使用。而且,的确,我可以使用wpgraphiql插件在该站点上进行graphql查询。也就是说,该站点上的所有内容均按预期运行。

但是,就能够将数据拉入我的gatsby安装而言,它行不通。

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

我尝试调用

等不同的graphQL查询
https://wordpress-285784-933130.cloudwaysapps.com/graphql?query={%20page{id}%20}

会出现错误,指出缺少必填数据,这似乎与您的数据有关。如果您可以检查要调用的查询是否真的直接给出了结果(如您所提到的在 wpgraphiql 中可以正常工作),将很有用。

答案 1 :(得分:0)

我认为您应该使用gatsby-source-wordpress。这将导入配置中提供的所有数据,并将其转换为GraphQL。

如果对此感兴趣,可以按照Tim Smith

的教程进行操作。

希望对您有帮助!

答案 2 :(得分:0)

问题是我的域上没有设置SSL,并且我正在使用https。我将网址切换为http,一切正常。

注意:特别感谢Jason Bahl(wpgraphql插件创建者)付出了更多努力,并弄清楚了这一点。