什么是 WordPress REST API 以及如何使用它?

已发表: 2022-06-30

您可能听说过 REST API。 也许您听说 WordPress 用户从中受益。 但您可能也想知道 WordPress API 到底是什么。

了解 API 的工作原理并不像听起来那么复杂。 继续阅读以了解什么是 API、什么是 REST API,以及如何在您的网站中使用 WordPress REST API。

什么是 API?

应用程序接口 (API) 是两个应用程序相互“对话”的一种方式。 一个系统发出请求,另一个系统完成它。 系统接受的请求必须包含在 API 中——否则请求无法完成。

这样想吧。 也许你真的很饿,所以你去华夫饼屋。 你点咖啡、鸡蛋和煎饼。 女服务员开始写下你的订单——然后当你拿到煎饼时感到困惑。 Waffle House 不提供煎饼。 他们只供应华夫饼。

从仅提供华夫饼的 API 菜单中请求煎饼的系统将处于饥饿状态。

什么是 REST API?

当我们说 REST API 时,我们谈论的是为互联网设计的约束系统。 它描述了一个网站如何以可扩展和统一的方式从另一个网站请求信息。 REST 代表 Representational State Transfer,由 Roy Fielding 在他的博士论文中定义。

什么是 WordPress REST API?

WordPress REST API 是指对在 WordPress 上运行的网站发出的请求。 如果我们请求帖子或页面列表,我们可以期望从 WordPress REST API 接收该信息。 WordPress 绝不会提供任何未公开的信息,例如草稿帖子或(更重要的是)用户密码。

这是块编辑器的基础,它与 WordPress 动态交换数据而无需重新加载页面。 每个端点都以 JavaScript 可读的 JSON 格式返回数据——或者在这种情况下是块。

请注意,REST API 只是 WordPress 提供的 API 之一。 例如,还有数据库 API 和元数据 API,插件使用它们与服务器上的 WordPress 进行交互。 您可以在 Codex 中了解有关 WordPress API 的更多信息。

WordPress REST API 请求如何工作?

REST API 有几个基本部分,即:路由、端点、请求和响应。

路线

路由是我们引用网站通信所用 URL 的方式。 WordPress 中的一个常见路径是“/wp-admin”。 虽然它不是 REST API 的路由,但它是浏览器用来访问 WordPress Admin Dashboard 的路由。 出于我们的目的,REST API 路由以“/wp-json”开头(JSON 是数据的标准格式)。

端点

端点是路由和传入请求类型的组合。 一条路由可以连接到多个端点,因为有多种请求类型。 常见的请求类型包括 GET(我们如何读取路由上的数据)和 POST(我们如何更新路由上的数据)。

请求和响应

与 REST API 的每次通信都夹在请求和响应之间。 一个系统发出另一个系统响应的请求。 WordPress REST API 包括方便的插件对象,用于在扩展 WordPress REST API 时访问请求数据 (WP_REST_Request) 和管理响应数据 (WP_REST_Response)。

如何在 WordPress 中安装 REST API

从 WordPress 4.7 版开始,WordPress 将 REST API 作为核心功能。

如果您运行的是旧版本,则可以安装 json-rest-api 功能插件。 这用于在与 WordPress 代码库完全集成之前开发 REST API。 此插件在技术上已关闭,因此建议您更新您的 WordPress 版本(或者考虑使用托管 WordPress 托管,您将始终保持最新状态。)

WordPress REST API 示例

看看 GiveWP 网站。 如果您访问他们的博客,您将能够看到最近的新闻和帖子。 这个路由渲染 HTML,看起来很漂亮,但程序员很难与之交互。 相反,使用“/wp-json/wp/v2/posts”路由将帖子提供给程序员。

“/wp-json/wp/v2/posts”路由告诉我们这是一个 WordPress 资源(“/wp”),这是资源的版本 2(“/v2/”),特别是这些是帖子(“/帖子”)。 如果您还没有,请访问 https://givewp.com/wp-json/wp/v2/posts 并将您看到的内容与 https://givewp.com/blog/ 进行比较。 我会给你一个提示——这是相同的信息!

有关如何在 WordPress 中使用 REST API 的示例,请考虑最新的帖子块。 为了在 WordPress 中获取帖子列表,该站点通常需要向服务器发出请求,然后重新呈现整个页面。

最新的帖子块可以只请求帖子,然后重新呈现自己。 它使用 REST API 来执行此操作。 它可以多次轮询新帖子——无需重新渲染整个页面。 当您考虑使用块来编辑和显示页面组件的完整站点编辑时,这尤其有用。

每个单独的组件都可以请求它需要的数据(包括检查更新),然后仅重新渲染已更改的数据。

现在你知道了

现在您已经了解了 WordPress REST API 的目的和结构,请四处寻找您可以自己找到的内容。 有关使用和扩展 WordPress REST API 的完整概要,请查看 REST API 手册。

请记住:如果有人问您有关 API 的问题,您不能在 Waffle House 订购煎饼。

当您微调您的网站时,不要忘记伟大的网站需要伟大的托管。 您可以通过 Nexcess 托管 WordPress 获得所有这些。 凭借强大的速度、可扩展性选项和出色的支持,您可以依靠 Nexcess 为您的 WordPress 网站提供支持。

来看看为什么 Nexcess 内置了更好的功能。 立即查看我们的 WordPress 完全托管的托管计划。

探索 WordPress 托管计划

相关的 WordPress 资源

  • WordPress.com 与 WordPress.org
  • 加快 WordPress 网站速度的 5 种高级技术
  • 什么是 WordPress 托管?
  • WordPress插件基本指南
  • 如何选择虚拟主机:寻找什么和避免什么