Python 轻松实现天气提醒:通过天气实况 API 获取城市气温
WordPress REST API 初学者指南
除非您多年来一直在构建 WordPress 网站,否则您可能不知道 WordPress Rest API 是什么。
尽管WordPress Rest API是一个相对较新的功能,但它已经改变了WordPress作为一个平台的能力,因为它现在使开发人员能够轻松地将WordPress与其他软件和网站连接起来。
使用 HubSpot 的 WordPress 网站工具发展您的业务
在本指南中,我们将解释什么是 API 和 REST。然后,我们将探索开发人员如何使用 WordPress REST API 来绕过其限制。
- 什么是 WordPress REST API?
- 如何使用 WordPress REST API
- WordPress REST API 示例
- 何时使用 WordPress Rest API
如果您不熟悉 API 和 REST,那么该定义可能还不完全有意义。因此,让我们简要介绍一下什么是 API 和 REST API,以及它们在这里为什么重要。
什么是 API?
应用程序编程接口 (API) 是允许外部应用程序与其通信的软件的一部分。API 公开应用程序的一部分数据和功能,从而支持第三方应用程序进行集成。
例如,假设您想在您的网站上展示 YouTube 视频。由于视频归 YouTube 所有并存储在 YouTube 服务器上,因此您可以通过 YouTube 的 API 请求视频。API 收到并批准您的请求后,会将视频发回给您,您可以根据需要嵌入它。
或者,假设您希望您的应用程序将视频上传到 YouTube — YouTube 的 API 也允许您执行此操作。但这一次,您发出了不同的请求,要求上传您的内容。如果 API 批准,则视频无需您登录 YouTube 用户帐户即可上传。
API 使当今的软件生态系统成为可能。通过 API,不同的软件应用程序可以以自动化和标准化的方式集成和共享数据。
API 是开发人员将网站连接到 Google 地图并在其网站上包含实时地图的方式。因此,他们不必从头开始,编写地图代码并收集所需的大量数据。相反,通过在现有框架的基础上进行构建,每个人的生活都会更轻松。
无论是安排社交媒体帖子的自动化软件,还是手机上的天气应用程序,您最喜欢的大多数应用程序都以某种方式使用 API。
什么是 REST API?
当我们谈论 Web 上的 API 时,我们通常谈论一种称为 REST API 的 API。REST 是 Representational State Transfer 的缩写,是一组用于构建 Web API 的准则。遵循这些准则的 API 是 REST API(或 RESTful API)。
查看我们专门的 REST API 帖子,更详细地了解 REST API。但是,现在,我们可以简要总结一下 REST API 的五个要求,因为这些要求决定了WordPress REST API的工作方式。这些要求是:
- 客户端-服务器分离:托管 API 的应用程序(称为“服务器”)和使用 API 的应用程序(称为“客户端”)作为单独的系统进行维护。它们只能通过来自客户端的请求和来自服务器的响应进行通信。
- 统一接口:所有请求和响应都必须遵循通用协议。在大多数情况下,REST API 使用超文本传输协议 (HTTP) 通过 Internet 进行通信。
- Stateless:与 API 的所有交互都是相互独立的。每个请求和响应都应包含完成交互所需的所有信息,而无需引用以前的请求/响应。
- 分层系统:客户端和服务器很少通过网络直接连接。通常,它们之间存在代理服务器来处理流量、性能和安全性。RESTful 请求和响应的格式应始终相同,无论客户端和服务器之间存在多少层。
- 可缓存:如果客户端向服务器请求资源(即数据),服务器应说明客户端是否可以缓存所提供的资源以及缓存多长时间。
这些约束标准化了网络应用程序之间的对话方式。它们确保与任何REST API的交互都遵循类似的过程,同时保持两个应用程序的独立性,以便任何一个应用程序的更改或升级不会影响它们之间的通信。
WordPress REST API 有什么作用?
顾名思义,WordPress REST API 是一个 REST API,因此它按照上面列出的指南运行。
具体来说,WordPress REST API 向外部开发人员公开了 WordPress 的内部工作原理,这使得以多种方式将 WordPress 与其他应用程序集成成为可能。由于 REST 在 Web API 中非常普遍,因此 WordPress REST API 对于任何开发人员来说都相对容易学习和使用。
WordPress REST API 最初是作为开源 WordPress 插件开发的,在 2016 年发布的 4.7 版中被添加到 WordPress 核心中。
这是 WordPress 的重要一步,有效地将其转变为一个软件平台。现在,开发人员可以使用 WordPress 进行构建,而无需在 WordPress 中进行构建。
例如,您可能希望从头开始构建一个 Web 应用程序,但利用 WordPress 的内容管理和文章起草功能。使用 WordPress REST API,您可以从您的 WordPress 账户获取帖子内容并将其发布到您的自定义 Web 应用程序上。或者,您可以将 WordPress 连接到您正在使用 REST API 构建的移动应用程序。您可能熟悉 Gutenberg 块编辑器 — 这是一个使用 WordPress REST API 检索和修改 WordPress 数据库中内容的 Web 应用程序的真实示例。
WordPress REST API 还为开发人员提供了强大的灵活性。如果没有它,开发人员将需要使用 PHP(WordPress 的服务器端脚本语言)修改 WordPress。现在,开发人员可以在 WordPress 的限制之外进行编程,并使用其他语言进行工作,例如前端编程语言 JavaScript。
最后,请注意,WordPress REST API 是由 WordPress 维护的几个 API 之一。
这些其他 WordPress API 的存在主要是为了允许插件和主题与 WordPress 核心进行交互。
为什么 WordPress REST API 对开发人员很重要
REST API 灵活、可扩展且易于实施。以下是更详细的每种方法的好处。
- 灵活性: WordPress REST API 能够处理许多不同类型的请求以及与不同格式的数据进行交互。这意味着开发人员可以使用 REST API 与所有编程语言的网站交换数据。您将不再局限于 PHP(默认的 WordPress 服务器端语言)
- 可扩展性:WordPress REST API 标准化了应用程序与 WordPress 数据交互的方式,旨在在任何两个软件之间进行通信,无论大小如何。这意味着 WordPress 开发将更加高效,因为开发人员可以使用更简化的流程。
- 易于实施: REST API 是 WordPress 维护的众多 API 之一,这意味着您可以轻松地在您的 WordPress 网站上实施它。REST API 还整合了现有的技术;通过 REST API 请求资源时,您只需提供一个 URL。
如何使用 WordPress REST API
在我们尝试发布和接收 WordPress 数据之前,让我们回顾一下在使用 WordPress REST API 之前需要了解的一些关键术语。
WordPress REST API 条款
首先,请求是您发送到 WordPress REST API 的内容。它指定了你想要定位的 WordPress 数据库中的资源以及你想用它做什么。
响应是 API 在您发出请求后发回的内容。它包含您请求的任何数据,以及请求是否成功的确认或错误消息。
路由是用于通过 WordPress API 查找资源的 URL,例如文章、页面、元数据、用户或其他数据类型。例如,路由 “http://yourwebsite.com/wp-json/wp/v2/pages” 用于访问 WordPress 网站上的页面。
路由在终端节点中用于通过 API 访问或修改数据。终端节点将路由与称为 HTTP 方法的命令组合在一起。您可能最常使用的四种 HTTP 方法是:
- 获取:此方法从服务器检索数据。
- 发布:此方法将数据添加到服务器。
- 放:此方法将编辑服务器上已有的数据。
- 删除:此方法从服务器中删除数据。
例如,从 yourwebsite.com 检索所有 WordPress 页面的终端节点如下所示:GET http://yourwebsite.com/wp-json/wp/v2/pages
向 yourwebsite.com 添加新页面的终端节点如下所示:
POST http://yourwebsite.com/wp-json/wp/v2/pages
WordPress 开发人员参考列出了所有 REST API 的路由和端点,它们允许您访问和操作 WordPress 网站上几乎任何内容。您与 WordPress API 的大部分(如果不是全部)交互都将使用这些端点。
根据您使用 REST API 的方式,您可能还需要提供身份验证才能发出请求。对于许多请求,WordPress 需要首先验证您是谁。默认情况下,您可以使用 API 访问您网站上的大多数公共内容,而无需进行身份验证,而访问私有数据则需要身份验证。
向 WordPress REST API 发出请求
了解了基本术语后,我们现在了解了足够的知识,可以向 REST API 发送简单的请求。我们不建议在您的实时网站上测试 REST API,而是在服务器上或本地设置测试网站以发出请求。
发出手动 API 请求的最简单方法是通过命令行界面 (CLI),该程序可用于将基于文本的命令写入计算机的操作系统。在 Windows 上,默认的 CLI 程序是 Command Prompt。在 macOS 上,它称为 Terminal。
要从命令行与 API 通信,您可以使用 cURL,这是一种用于发出 HTTP 请求(以及许多其他类型的请求)的免费工具。您也可以尝试 WP-CLI,这是一个专门用于 WordPress 的免费命令行界面,可让您在不使用浏览器的情况下与您的 WordPress 网站进行交互。
使用 SSH,使用 cURL 或 WP-CLI 访问您的远程或本地测试站点。如果出现提示,请输入您的凭证进行身份验证。
访问测试站点后,您可以开始发送请求。API 请求的基本路由为:
http://yourwebsite.com/wp-json/
其中 “yourwebsite.com” 是您的域。您将在此 URL 的末尾添加子目录以请求特定数据。
让我们从前面的示例开始,从您的 WordPress 网站获取所有页面。此操作的终端节点为:
GET http://yourwebsite.com/wp-json/wp/v2/pages
相反,如果你想检索一个特定的页面,你可以通过在路由的末尾添加页面 ID 来实现:
GET http://yourwebsite.com/wp-json/wp/v2/pages/<id>
其中 <id> 是页面的数字 ID。
接下来,让我们试验 POST 方法。我们可以使用 POST 使用以下语法向网站添加新页面:
POST http://yourwebsite.com/wp-json/wp-json/wp/v2/pages
这会向您的网站添加一个空白页面,您可以在其中填充内容。
如果您想获取有关 WordPress 帐户中特定用户的信息怎么办?这也可以通过一个简单的请求来实现:
GET http://yourwebsite.com/wp-json/wp/v2/users/<id>
其中 <id> 是用户的数字 ID。
我们只是触及了这里可能的皮毛——为了充分利用 WordPress REST API,您的请求将变得更加复杂。但是,如果您只是掌握 WordPress API 和一般 API 的窍门,那么值得练习更直接的请求以扎实掌握基础知识。
WordPress REST API 示例
我们已经了解了开发人员如何通过 WordPress 的 REST API 请求信息和进行更改——现在,让我们看看这个 API 的一些实际示例。
Gutenberg
WordPress Gutenberg 编辑器应用程序实现 WordPress REST API 来访问页面和帖子信息。它从 WordPress 数据库中获取页面和帖子数据,包括文本和媒体,并允许您使用块放置内容 — 这是 API 工作的一个简单示例。
AppPresser
AppPresser 允许用户创建与 WordPress 网站集成的 iOS 和 Android 移动应用程序。它调用 WordPress REST API 从 WordPress 检索内容,并根据您的移动应用程序修改数据库内容。
Wired
在 WordPress REST API 作为 WordPress 核心的一部分发布后不久,流行的技术出版物 Wired 使用该 API 制作了其主站点的同步副本以进行测试。每当主网站更新其内容时,测试站点都会更改以匹配。
Event Espresso
Event Espresso 是一个使用 WordPress REST API 的 WordPress 活动管理和票务插件。通过附加组件,网站所有者可以将事件信息提供给开发人员,以供外部应用程序和网站使用。
何时使用 WordPress Rest API
WordPress REST API 非常适合两种突出的情况。
首先,将 WordPress 集成到您正在使用的应用程序或网站(本身不是用 WordPress 制作的)中是有帮助的。
其次,您可以使用 PHP、JavaScript 或任何选择的语言创建主题和插件,然后使用 WordPress Rest API 访问所需的数据。
但是,在某些情况下,此 API 不是必需的。也就是说,如果您想使用 PHP 开发主题或插件,请尝试利用 WordPress 的其他 API,例如Plugin API 和Theme Customization API。
网站所有者还可以通过合适的 WordPress 主题和广泛的定制来完成很多工作。
简而言之,虽然WordPress REST API并非总是最佳选择,但当它适用时,它的强大功能是显而易见的。正如WordPress API文档所言:“如果你正在寻找一种结构化、可扩展且简单的方式来从WordPress中获取数据,那么使用REST API可能是你想要的。”
WordPress REST API:在 WordPress 之外使用 WordPress 进行构建。
要了解 WordPress CMS 的最新发展和适应情况,您至少需要了解其 REST API 的基础知识。WordPress REST API 充当通往更大应用程序生态系统的网关。现在,不同的软件可以在工具之外利用 WordPress 技术。
即使你不是开发人员,了解REST API的工作原理仍然有益,以防将来你决定将WordPress以某种方式集成到你的工具中。有了这些知识,你就能诊断问题、与开发者协作,甚至可能在未来自行进行自定义集成。
主题:WordPress 网站