WordPress REST API入门基础知识点

在本文中,我们讲解WordPress REST API的一些基础知识。我们将研究它的作用、工作原理以及它给平台带来的变化。最后,我们将讨论您可以用它做的一些事情。

当REST API最终被添加到WordPress的核心时,漫长的旅程就结束了。许多人预计这一变化是该平台历史上WordPress向前迈出的最大一步。但是,如果您不熟悉REST API,您可能会对它所获得的所有关注感到困惑。

简而言之,WordPress REST API的加入使WordPress变成了一个功能齐全的应用程序框架。这显着提高了它的“可扩展性”,或者说它可以通过新特性和功能进行扩展。此外,它还扩展了平台与其他站点和应用程序进行通信的潜力。

REST API简介

在我们深入研究WordPress REST API之前,了解我们的术语很重要。这是一个我们需要使用大量首字母缩略词的主题,所以让我们先把它们弄清楚。

首先,您需要知道什么是应用程序编程接口 (API)。用最简单的术语来说,API是一个系统使其他系统能够连接到其数据的一种方式。例如,当网站向页面添加Facebook的“Like”按钮时,它会通过连接到Facebook的API来实现这一点。这让网页可以使用API来接收数据(点赞按钮的代码)和发送数据(点赞请求)。

那么,REST API究竟是什么?具象状态传输 (REST)是一种特定于Web服务的 API。它包含一组标准化的指令和规则,使所有“RESTful”服务更容易相互连接。

简而言之,REST API使您能够向外部系统发出请求。这方面的一个例子是Twitter。您可以使用其API向特定用户请求一定数量的推文。然后API将根据您的请求返回推文,您可以使用HTML和CSS将其嵌入您的网站。

这些请求是使用JavaScript Object Notation (JSON) 执行的。这是一种专为发送、接收和存储数据而设计的语言。我们将在本文后面介绍JSON,但我们建议您先花点时间熟悉一下这种语言。这将帮助您准备好使用WordPress REST API,并理解我们将要讨论的一些概念。

WordPress REST API是什么及其重要性

WordPress REST API

WordPress REST API的功能与我们已经提到的例子大体相同。基本上,WordPress REST API使您可以从任何与JSON兼容的框架中访问WordPress的所有功能。

与Twitter的API使您能够检索和发送推文的方式类似,WordPress REST API可用于管理来自外部平台的文章、用户、类别等。这使您能够以多种前所未有的方式使用WordPress。

REST API早在2013年就宣布了,它以插件的形式开始,旨在通过4.1版将其合并到WordPress核心中。正如经常发生的那样,延迟会推迟发布,直到三年后随着WordPress 4.7的发布,它最终被实现到核心中。

对于许多人来说,这是一个漫长但值得的等待,他们将WordPress REST API视为平台向前迈出的重要一步。您可能想知道为什么这个添加如此重要,特别是因为很多用户可能没有注意到太大的区别。事实证明,出于多种原因,包含REST API是对WordPress的根本性更改。

例如,通过实施REST API,WordPress从简单的创建网站的平台迈出了一步。相反,它现在已经成为一个成熟的应用程序框架。这意味着开发人员可以使用WordPress站点为移动设备和网络创建应用程序,或作为信息存储库。

这种转变也使WordPress摆脱了对PHP的依赖。通过使WordPress与任何JSON-compatible语言兼容,REST API极大地扩展了开发人员的可能性,使他们能够将WordPress功能与几乎任何框架一起使用。

最后,REST API在可用于平台的接口方面提供了更高的灵活性。它使管理界面完全可选,因为您现在可以完全通过JSON命令与您的WordPress站点进行交互。让我们看看JSON和REST API如何结合起来使这成为可能。

REST API和JSON如何协同工作

到目前为止,您应该对WordPress REST API的理论方面有所了解,所以让我们看看该技术更实用的方面。官方手册介绍如何使用REST API,如下所示:

“WordPress REST API为WordPress数据类型提供API端点,允许开发人员通过发送和接收JSON(JavaScript Object Notation)对象与站点进行远程交互。”

我们需要关注的第一个词是“端点”。将端点视为可以使用JSON请求调用的一段数据或函数的最简单方法。默认情况下,WordPress提供了大量可供使用的标准端点,但开发人员也可以创建自定义端点

要到达端点,您必须使用采用普通URL形式的“路由”。您现在甚至可以自己尝试一下。转到您自己的WordPress站点,并将/wp-json/wp/v2 添加到其URL的末尾。如果您的站点是http://example.com,您将输入http://example.com/wp-json/wp/v2

当您加载此路由时,您将到达端点,在这种情况下,它以(凌乱的)JSON格式返回站点的所有内容和元数据。通过使用不同的路由,您可以访问不同的端点,以获取特定类型的信息并执行各种任务。

您将在REST API中使用三个主要的JSON请求,所以现在让我们快速浏览一下它们。他们是:

  • GET-此类请求用于从API检索和列出数据。例如,您将使用GET请求返回您网站上的用户列表或编译特定时间范围内的博客文章。
  • POST-此请求用于向API发送数据。它使您能够将新信息推送到WordPress,例如添加新用户和帖子或更新现有数据。
  • DELET-顾名思义,这个请求是用来删除数据的。这使您能够删除文章、页面、用户等。

有时可以将GET和POST与相同的端点一起使用以获得不同的结果。例如,让我们看看端点/me/settings/。如果您要在此端点上执行GET请求,您将收到当前用户设置的列表。但是,通过在同一端点上使用POST请求,您将能够改为更新设置。

WordPress REST API入门

我们现在将把所有这些理论付诸实践,并向您展示一些非常基本的示例,说明您可以使用REST API做什么。这只是一种尝试,以帮助您习惯使用REST API来处理对WordPress的请求。有关更多示例,我们建议您查看官方参考库和REST API资源。

以下技术将要求您使用命令行来处理JSON请求。这使您能够通过使用基于文本的界面和发送简单的命令与您的 WordPress 站点进行交互。如果您没有任何使用命令行的经验,我们建议您先花一些时间学习基础知识。您可能还想使用SSH来创建与您的站点的连接。

最后,当您准备好时,让我们看一些有关如何使用WordPress REST API的示例!

1. 从站点返回文章

虽然您显然需要适当的授权来编辑站点,但几乎可以从任何 WordPress 站点检索一些信息。这是因为REST API在所有WordPress安装中都是一致的。

正如我们所讨论的,API存在的一个主要原因是使外部应用程序能够访问您的某些数据。在此示例中,我们可以从官方WordPress新闻博客中检索单个文章

curl https://wordpress.org/news/wp-json/wp/v2/posts/1

ID已设置为1,这意味着此请求将检索博客上的第一篇文章。可能很难看到,因为JSON不是很可读,但是在代码中,您可以找到文章的所有内容和元数据。

JSON数据示例

然后,您可以在应用程序中使用此信息,例如,使用您自己的自定义样式来显示它。

如果您想返回博客中的每篇文章,您所要做的就是删除末尾的ID。但是,您更有可能希望返回选定数量的帖子。以下请求将返回最新的三个文章:

curl https://wordpress.org/news/wp-json/wp/v2/posts/?per_page=3

您可以在其他网站甚至您自己的博客上亲自尝试。

2. 更新文章

现在,让我们尝试使用REST API对WordPress进行一些更改。为此,您需要登录到要管理的站点。例如,如果您使用SSH,则需要登录到您的服务器。

在这个例子中,我们将更新一个现有的文章。首先,让我们使用一个请求来更新ID为1的文章的标题:

curl -X POST http://example.com/wp-json/wp/v2/posts/1 -d '{"title":"A Brand New Title"}'

这是不言自明的。title参数表明您正在更新文章的标题,后跟包含替换内容的文本字符串。

还有很多其他的参数,你可以用它来进行更改后。例如,您可以使用列表为文章分配类别、发布文章或完全更改其内容。

3. 删除用户

最后,让我们看看如何使用REST API删除数据。在此示例中,我们将从站点中删除用户。当然,您需要先登录并授权管理用户,然后才能使用此功能。

然后,您可以使用以下请求删除ID为101的用户:

curl -X DELETE http://example.com/wp-json/wp/v2/users/101

这将从站点中删除指定的用户。您可以使用附加参数根据用户的ID将用户的文章重新分配给另一个用户,或者强制永久删除而不是将用户添加到垃圾箱。

通过这些示例,您可以开始了解REST API如何使您能够管理站点上的内容并连接到其他站点。如果您想了解更多信息,我们建议您深入研究REST API手册,并查看有关学习JSON的课程。

小结

WordPress REST API为平台,是一个巨大的进步,远离其根源和未来。开发人员从一开始就很兴奋,但如果您一开始不熟悉REST API,您可能会对其中的原理感到困惑。

发表评论