如果你在过去几年中花费时间构建WordPress网站,很可能已经听说过新的REST API。然而,除非你是一位经验丰富的开发者,否则你可能不知道WordPress REST API到底是什么。
虽然技术细节有些复杂,但这个功能背后的基本概念很容易理解。新的API有助于扩展WordPress作为平台的功能。更重要的是,REST API让开发者将WordPress与其他网站和应用程序连接起来变得前所未有的简单。

在这个全面的指南中,我们将带你了解所有你需要知道的基础知识。我们将解释什么是API,以及什么是REST API(特别是WordPress特有的版本)。然后,我们将讨论如何开始使用REST API。让我们直接开始吧!
📚 目录:
- 应用程序编程接口(API)简介
- REST(表述性状态转移)API的基本规则
- WordPress REST API
- WordPress REST API请求的结构
- 如何开始使用WordPress REST API
- 如何在WordPress中禁用REST API
- 使用WordPress REST API的另一种方法
- 结论
应用程序编程接口(API)简介
在我们深入研究WordPress REST API之前,让我们先退后一步。要理解这个概念,首先对API有一个基本了解是很重要的。
从最基本的层面来说,API——或应用程序编程接口——使两个应用程序能够相互通信。例如,当你访问一个网站时,你的浏览器会向该网站所在的服务器发送请求。该服务器的API会接收浏览器的请求,对其进行解释,然后发回显示你的网站所需的所有数据。
当然,从技术角度来说,API的工作方式还有更多内容。然而,我们将重点关注对你来说最重要的部分——实际应用。API一直受到很多关注和曝光,因为许多公司已经开始将它们打包并作为你可以使用的产品提供。
换句话说,像Google这样的公司的开发者会将他们应用程序的部分代码整合在一起,并将其公开提供。这样,其他开发者就可以使用API作为工具,帮助他们自己的网站连接到Google并利用其功能:

例如,你可以使用Google Maps API在你的网站上放置一个功能完整的地图,利用Google的所有相关数据和功能。这为你省去了自己编写地图代码和收集所有数据的麻烦。这同样适用于广泛的网站和应用程序。
随着网站及其依赖的功能变得越来越复杂,像API这样的工具变得至关重要。它们使开发者能够在现有功能的基础上进行构建,使"插入"新功能到你的网站成为可能。反过来,拥有API的网站也会从增加曝光率和流量中受益。
REST(表述性状态转移)API的基本规则
创建API的方法有很多种。REST(表现层状态转换)API是一种遵循特定规则开发的特殊类型的API。换句话说,REST为开发者构建API提供了一套指导方针。这确保了API能够有效运行。
要理解REST API的工作原理,你需要了解它们所遵循的规则(或“约束”)。有五个基本要素使API成为“RESTful”。请注意,“服务器”是API所属的平台,“客户端”是连接该平台的网站、应用程序或软件:

- 客户端-服务器架构。 API的构建应使客户端和服务器相互独立。这样它们可以独立开发,并且可以独立使用。
- 无状态性。 REST API必须遵循“无状态”协议。也就是说,它们不能在服务器上存储任何关于客户端的信息。客户端的请求应预先包含所有必要的数据,响应应提供客户端需要的一切。这使得每次交互都是“一次性的”,并减少了内存需求和错误发生的可能性。
- 可缓存性。 “缓存”是特定数据的临时存储,以便可以更快地检索和发送。RESTful API尽可能利用可缓存的数据来提高速度和效率。此外,API需要让客户端知道每条数据是否可以并且应该被缓存。
- 分层系统。 设计良好的REST API使用分层构建,每一层都有其指定的功能。这些层相互交互但保持独立。这使得API更容易随时间进行修改和更新,同时也提高了其安全性。
- 统一接口。 REST API的所有部分需要通过相同的接口运行,并使用相同的语言进行通信。这个接口应该专门为API设计,并且能够独立发展。它不应该依赖于服务器或客户端才能运行。
任何遵循这些原则的API都可以被认为是RESTful。确实还有第六个约束,称为“按需代码”。遵循此技术后,API可以指示服务器向客户端传输代码,以扩展其功能。然而,这个约束是可选的,并非所有REST API都采用它。
你可能也有兴趣了解:
WordPress REST API
此时,你可能想知道这一切对你有什么影响。API是优秀的工具,但它们与你的日常工作相关吗?如果你是一个WordPress用户,答案将是“是”。
WordPress REST API已经开发了几年。有相当长的一段时间,它作为一个独立的插件供任何人实验使用。
事实上,WordPress REST API插件有两个独立的版本。早在4.4版本更新时,API的某些元素就被添加到了核心平台中。随后在WordPress 4.7(2016年)中完全集成。这意味着如今WordPress拥有了自己的完全可用的REST API。
平台为什么做出这个举动?根据项目站点本身,这是因为WordPress正在向成为一个“成熟的应用程序框架”发展。
换句话说,REST API使该平台能够与几乎任何网站和Web应用程序进行交互。此外,无论外部程序使用什么语言,它都能进行通信和数据交换。

这为开发者开辟了众多可能性。它还使WordPress比以往任何时候都更加灵活和通用。正如Barn2 Media运营总监Katie Keith所说:
通过理解REST API,WordPress开发者可以选择最有效的方式来完成每项任务,而不必被限制在特定的技术或平台(如PHP或WordPress后端)。如果使用得当,REST API使第三方集成变得更加容易……它甚至开辟了新的机会,例如创建您自己的WordPress移动应用程序,或探索与WordPress通信的新颖独特方式。
自实施以来,WordPress REST API已成为内容管理系统(CMS)的关键组件。它不再仅被外部服务使用,许多插件、主题和块编辑器本身都依赖REST API来运行。如果您想知道如何禁用REST API,我们建议您不要这样做,但我们会在本文后面向您展示如何安全地操作。
同样值得注意的是,您可能偶尔会听到这个功能被称为WordPress JSON REST API。"JSON"代表JavaScript Object Notation,描述了该API用于交换数据的格式。这种格式基于JavaScript,由于它与许多常见编程语言的接口非常好,是一种流行的API开发方式。换句话说,JSON API能够更轻松地促进使用不同语言的应用程序之间的通信。
WordPress REST API请求的结构
如果您想亲自动手并开始自己尝试API,需要理解一些基本概念。
正如我们解释的,每个API都会处理请求并返回响应。换句话说,客户端要求它执行某个操作,然后API会执行该操作。API具体如何做到这一点可能有所不同。REST API专门设计用于接收和响应特定类型的请求,使用简单的HTML命令(或“方法”)。
为了说明这一点,以下是客户端可能发送的最基本和重要的HTML方法:

- GET: 此命令从服务器检索资源(如特定数据)。
- POST: 通过此命令,客户端向服务器添加资源。
- PUT: 您可以使用此命令编辑或更新服务器上已有的资源。
- DELETE: 正如名称所示,此命令从服务器删除资源。
除了这些命令之外,客户端还会发送一行或多行信息,准确说明需要什么资源以及应该对其执行什么操作。例如,上传PHP文件到服务器上特定文件夹的请求可能如下所示:
POST /foldername/my_file.php
/foldername/my_file.php部分称为“路由”,因为它告诉API去哪里以及与什么数据交互。当您将其与HTTP方法(在这种情况下是POST)结合使用时,整个功能被称为“端点”。
大多数 REST API 以及与之交互的客户端都比这复杂得多——WordPress 的版本也不例外。然而,这些基本元素构成了 REST API 工作原理的基础。
如何开始在 WordPress 中使用 REST API
只要您已经设置好了 WordPress 站点,就可以立即开始尝试使用 REST API。您可以直接使用浏览器执行各种 GET 请求来检索数据。
要在 WordPress 中访问 REST API,您需要从以下路由开始:
yoursite.com/wp-json/wp/v2
然后,您可以向这个 URL 添加内容来访问各种类型的数据。例如,您可以通过这样的路由来查找特定的用户资料:
yoursite.com/wp-json/wp/v2/users/4567
在这个示例中,"4567" 是您想查看的资料的唯一用户 ID。如果省略这个 ID,您将看到您站点上所有用户的列表:

您可以使用相同的基本路由来查看其他类型的数据,例如您的文章或页面。您甚至可以搜索满足特定条件的数据子集。例如,您可以使用以下 URL 检索包含特定关键词的所有文章:
yoursite.com/wp-json/wp/v2/posts?=search[keyword]
当然,这只是一个简单的说明。实际上,您可以借助 REST API 做的事情几乎没有任何限制。如果您想了解更多关于它的工作原理,我们建议从以下资源开始:
- W3Schools 教程。 虽然这个资源不是专门针对 REST API 的,但它提供了方便的教程,可以帮助您复习关键概念,例如 HTTP 方法 和 JSON。
- WordPress REST API 终极指南。 这是 WP Engine 的免费电子书,包含大量实用信息和示例。此外,它还将引导您完成几个基本的(以及更高级的)任务。
- 既然说到了这个,您还可以查看WordPress 开发者的十大必备插件列表。当您探索 REST API 的世界时,它肯定会派上用场。
WordPress REST API 无疑是一个复杂的话题。即使对于非开发者来说,了解这项技术的基本工作原理以及它能实现什么也是值得的。更重要的是,它甚至可以让您开始自己尝试开发!
如何在 WordPress 中禁用 REST API
如果您需要将其他服务和应用连接到您的站点,WordPress REST API 可能是一个令人惊叹的工具。但是,它也可能导致安全漏洞。攻击者可能能够通过此连接访问关键数据。
我们不建议完全禁用 REST API,因为这可能会导致您站点上的关键功能出现问题。自实施以来,REST API 已成为 WordPress 的固有组件。大多数插件都使用它与 CMS 进行交互。此外,区块编辑器依赖于 REST API 来编辑内容。
虽然禁用REST API不是一个好主意,但您可以出于安全目的部分阻止对特定资源的访问。最简单的方法是使用插件,比如Disable REST API:

该插件让您可以完全控制不同角色和身份验证状态的用户可以访问哪些路由。安装并激活后,您可以导航到设置 > 禁用REST API,然后选择要为哪些用户配置规则:

选择用户角色后,您可以向下滚动并启用您希望他们访问的API路由。默认情况下,每个路由都将对未认证用户禁用。其他角色(如编辑者)将拥有几乎完全的API访问权限:

出于安全目的,只有管理员角色应该拥有完全的REST API访问权限。对于其他角色,我们建议您禁用他们不需要使用的资源的访问权限。
使用WordPress REST API的另一种方法
REST API可以用于许多有趣的项目和用途。我们已经非常清楚地说明了这一点。
然而,它在某个领域正在获得真正的流行:
无头WordPress是将WordPress生态系统的两个主要层——后端和前端——解耦的想法。
这允许您利用WordPress软件的所有内在特性,并将它们与不使用标准WordPress展示方式最终产品连接起来——它本身不是一个网站。
这个概念非常有趣。我们在另一篇文章中更详细地讨论了它,我们在文章中讨论了无头WordPress是否有意义,并比较了市场上顶级的无头WordPress托管解决方案。
结论
现在正是学习WordPress REST API的最佳时机。由于它已经完全合并到WordPress核心中,它将在平台的未来发挥重要作用。各类开发者都将使用这个API以以前难以或不可能的方式将WordPress连接到更广阔的网络。
理解这个概念可能有点挑战。然而,在基本层面上,这些概念很容易理解。REST API是一个使两个程序能够"相互对话"的接口,它是遵循指南创建的,确保它是灵活、可扩展和安全的。如果您想更深入地了解这一切是如何工作的以及如何使用它,有许多有用的资源,例如官方手册。
进一步阅读:
- 使用functions改变你的WordPress网站的工作方式
- 如何使用WP_Query获取你想要的任何文章
- 如何自动化WordPress开发工作流程
- 设计师和WordPress用户的设计工具
- WordPress.com vs WordPress.org
- 如何为Gutenberg调整你的插件:第一部分(Block API)
- 如何让你的插件兼容Gutenberg:第二部分(Sidebar API)
- 初学者Fetch API指南
- Google Maps JavaScript API
关于REST API及其对WordPress的意义,您有什么问题吗?请在下面的评论部分告诉我们!
…
别忘了参加我们关于加速WordPress网站的速成课程。在下面了解更多:
如何加速您的WordPress网站
通过一些简单的修复,您可以减少50-80%的加载时间🚀
通讯表单 – 侧边栏
名字 *
您的邮箱 *
立即订阅!
如果您是人类,请留空此字段。
Δ
通过输入您的邮箱地址,您即订阅我们的每周通讯。您可以随时更改您的决定。我们尊重您的收件箱和隐私。
布局和演示由Karol K.提供




