【问题标题】:Querying wordpress plugin rest API using GraphQL使用 GraphQL 查询 wordpress 插件 rest API
【发布时间】:2019-12-07 03:27:51
【问题描述】:

我正在尝试在我的 Gatsby 网站中实现 Smart Slider 3 Wordpress 插件。到目前为止,我一直在使用“gatsby-source-wordpress”插件来使用 GraphQL 查询 wordpress API 端点。它适用于帖子/页面等。

但是,我使用 Smart Slider REST API 插件来查询这个端点: /wp-json/smartslider3/v1/sliders/<slider-id>

我可以在浏览器中看到响应,但我不确定如何使用 GraphiQL 获得结果。通常我能够看到新的端点,例如“allWordpressPost”等。

在 gatsby-source-wordpress 插件配置中,包含需要更新的路由数组才能查询新端点。 示例:

"**/categories",
"**/posts",
"**/pages",
"**/media",

因此,我添加了这个"**/sliders",,但似乎无法在 GraphiQL 中显示结果。

【问题讨论】:

    标签: javascript wordpress reactjs gatsby


    【解决方案1】:

    我认为有两种方法可以做你想做的事:

    1. 直接在客户端查询,例如。使用window.fetchwpapi
    2. fork gatsby-source-wordpress 并自己添加对它的支持

    gatsby-source-wordpress默认支持以下插件:

    • 自定义帖子类型,包括使用自定义帖子类型 UI WordPress 插件制作的帖子类型
    • 高级自定义字段 + ACF 到 REST API
    • WP API 菜单
    • WPML REST API
    • WP REST Polylang
    • Yoast + WP API Yoast Meta

    见:https://www.gatsbyjs.org/packages/gatsby-source-wordpress/#wordpress-plugins

    因此,虽然您可以包含或排除 commentsmedia 之类的路由,但为其他插件 API 添加路由并不足以使其正常工作。

    与您类似,我最终需要对 Gravity Forms 的支持,并分叉了 gatsby-source-wordpress 并自己添加了对它的支持。它是可行的,并且不一定需要对原始插件进行大量更改,但要维护它是另外一件事。

    为了在未来尝试解决这个问题,我写了一个提案来添加一个通用的方法来做到这一点,这样就可以完全按照你的要求去做,而无需修改gatsby-source-wordpress。如果您不介意解释您希望在那里做什么,它可能有助于使其成为将来可以追求的东西。

    在短期内,以上选项是可用的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-18
      • 2017-05-09
      • 1970-01-01
      • 2019-09-11
      • 2020-01-21
      • 2020-03-26
      • 2016-10-15
      • 1970-01-01
      相关资源
      最近更新 更多