在深入研究 WordPress REST API 之前,为了初学者的利益,让我们先了解一下 WordPress 本身。

WordPress 于 2003 年推出,旨在简化网页的创建和发布,特别是对于那些不太熟悉 Web 开发或编程的人。多年来,WordPress 已经从一个博客平台发展成为一个成熟的网络开发工具,能够构建功能丰富的网络应用程序和电子商务商店。

WordPress 于 2015 年 12 月推出 WordPress REST API,进一步扩展了其服务。这一强大的功能通过将前端与开发人员的数据管理分开,开辟了使用 WordPress 的全新方式。 REST API 还允许他们在其他网络和移动项目中利用 WordPress 代码库。

如果你有兴趣使用WordPress REST API,可以参考详细的文档。但是,不熟悉 REST API 基本概念的人可能需要了解它是什么以及它是如何工作的!

在本指南中,我将介绍 REST API 的基本概念和剖析,以帮助您使用 WordPress REST API。

这是我要介绍的所有内容

表格中有什么

什么是 API?

API示例
REST API

为什么要使用REST API? WordPress REST API 剖析

路由和端点
请求
响应
控制器类
架构 (JSON)

如何使用 WordPress REST API?

启用和更新REST API
验证
发布数据
获取数据

什么是API

应用程序编程接口或 API 是一组用于在两个或多个应用程序之间进行通信的指令。

API 允许多个应用程序相互通信或与中央后端通信以执行可能还涉及数据库访问的特定任务。

仅允许使用 API 的应用程序访问端点(稍后解释)以发布和读取数据。它不允许任何逻辑更改,也不允许访问 API 的后端代码。

简而言之,这是一种访问第三方应用程序以使用您的程序和数据库的安全方法。

有几种类型的 API,例如:

  • SOAP(简单对象访问协议)
  • XML-RPC
  • JSON-RPC
  • Rest

本文只讨论REST API。在解释什么是 REST API 之前,让我们看一下 API 派上用场的一些重要用例。

  • Google API(允许用户使用他们的 Gmail 帐户登录)
  • Google MAPS(允许您将 MAPS 功能集成到网络或移动应用程序中)
  • < li >Facebook API(允许您添加“使用 Facebook 登录”功能并通过应用程序发帖。)

  • Twitter API(使 Twitter 共享变得容易)

REST API

REST是Representational State Transfer的缩写,是一种API。它不是一个协议,而是一组架构主题。

请允许我用简单的英语解释一下。

REST API 允许用户使用易于解析且更易于操作的文本数据。此文本数据通过超文本传输​​协议 (HTTP) 提供并使用 JSON 格式,允许用户将此数据用作 JavaScript 对象。

希望这对您来说足够简单。

为什么要使用REST API

REST API已经成为行业标准,被谷歌、Facebook、亚马逊等科技巨头采用。开发人员还发现,由于其结构和快速数据交换,它更易于使用。

为什么 REST API 流行?嗯,这是因为他们使用 JSON 进行数据格式化。 JSON 表示键/值对中的数据,这样更不易混淆且更可预测。与 XML 格式相比,使用 JSON 的 API 在数据交换方面更快,并且代码更简单。

以下是使用 REST API 的一些优势:

  • JSON(通常与 REST API 一起使用)由于结构更简单,解析速度更快。
  • 它们更易于使用。
  • 它们提供更好的浏览器支持,非常适合缓存尤其是静态信息。
  • REST API 消耗的带宽更少,并且更容易与现有的 Web 项目集成。

它被雅虎、eBay、亚马逊和谷歌等巨头采用。

现在您已经对什么是 API 以及使用 REST API 的优势有了基本的了解,让我们深入剖析 WordPress REST API。

WordPress REST API 剖析

REST API 旨在保持服务器和客户端分离,并且更易于管理、更新和部署。
想象一下,如果服务器端和客户端代码都写在一个文件中,几个月后你需要进行更改?好吧,祝你好运,先理解你的代码,更不用说经历更新文件的麻烦了。

任何 REST API 的主要目标都是执行 CRUD(创建、读取、更新和删除)任务。

通常,请求来自客户端的以下请求的 API:

GET:此命令从服务器获取数据。例如;检索客户信息。

POST:此命令允许您向服务器添加数据。例如;注册客户。

PUT:此命令允许您更新现有数据。例如;更新访问者的密码。

删除:顾名思义,这个命令允许你从数据库中删除数据。

路由和端点

路由和端点是 WordPress REST API 的两个基本元素。端点只是一个 URL,通过它与服务器建立连接,而路由是可以访问以执行特定操作的单个微服务。

这里有一个例子:

https://wordpress.org/wp-json/

在上面的URL中,/wp-json/是A route 获取与 WordPress、命名空间和路由相关的信息。

要求

您使用 WordPress REST API 执行的任何任务都采用请求的形式。此请求由名为 WP_REST_Request 的默认类处理。此类存储使用 WP REST API 发出的所有请求的信息。

通常,向端点发出请求,并且还可以包含参数。一个这样的例子是获取特定类别的帖子数据。

Response

Response 包含您在向 API 发出请求时请求的所需信息。 WordPress REST API 响应包含 JSON 格式的数据,以便于使用。如果出现任何问题或验证失败,将在同一响应中抛出错误。

查看响应的最简单方法是使用 Chrome 开发者工具。只需右键单击窗口,然后单击“检查”。这应该会打开一个新窗口,您可以在其中转到控制台以获取控制台消息,或者转到网络选项卡以获取 API 请求的详细视图。

如您所见,它包含有用的信息,例如请求的 URL、请求方法、状态代码和响应标头。

控制器类

控制器类进一步扩展了 WordPress REST API 的功能。它允许您构建自定义端点和路由,并管理负责运行 API 的所有元素。

Schema (JSON)

Schema 允许您定义端点可以使用的数据结构以及 REST API 可以接受的参数。

如何使用 WordPress REST API

在 WordPress 中启用 REST API

要使用 WP REST API,请确保您已通过运行以下命令(您可以在 SSH 终端中运行命令):

wp –info

1

wp –info

p>

运行上面的命令后,得到如下信息错误,这意味着我需要在我的服务器上安装 wp-cli。

在 WordPress 上安装 REST API 很简单。您只需要运行以下命令:

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

1

1
2

chmod + x wp-cli.phar

sudo mv wp-cli.phar /usr/local/bin/wp

现在您可以毫无问题地运行 WP-CLI 命令。

在 WordPress 中更新 REST API

如果您需要更新 REST API,只需登录 SSH 终端并运行以下命令。

wp cli更新

1

wp cli update

此命令将使用最新稳定版WP REST API 更新了 WordPress 中的 REST API。

身份验证

使用 WordPress REST API 的基本身份验证很容易设置。在这种类型的身份验证中,用户请求需要身份验证的 URL。用户发送给此请求的凭据以 base64 字符串编码。但是,这不被认为是最安全的身份验证方法,因为 base64 字符串很容易被解码。

要使用这种类型的身份验证,请从 Github 下载 Basic Auth 插件,然后使用“插件”选项卡将其上传到您的 WordPress 站点。

另外两种身份验证类型是 cookie 身份验证(由在同一站点上运行的插件和主题使用)和 OAuth 身份验证(由外部客户端使用)。

发布数据

在 WordPress 中使用 REST API 的主要优势是它能够将 WordPress 连接到任何其他应用程序。

wp_remote_post 函数可以用来发布数据。此函数接受两个参数:要使用的端点或 URL 以及要随其发送的参数。

例如,如果您需要使用 WordPress API 添加新帖子,请按以下步骤操作。

$args('body') = array(
'title' => 'WP REST API',
'status' =>'草稿',
' content' => 'content'
);
$response = wp_remote_post('http://username:password@yoursite.com/wp-json/wp/v2/posts/', $args) ;

1
2
3
4
5
6

$args('body') = array(

'title'=>'WP REST API',

'status'=>'草稿',

'content'=>'内容'

);

$response = wp_remote_post('http://username:password@yoursite.com/wp-json/wp/v2/posts/', $args) ;

在上面的代码中,我请求我的 WordPress 站点使用 WordPress REST API 添加新的博客文章。

获取数据

wp_remote_post 函数也可用于从 WordPress 站点获取数据。

例如,如果您需要按特定类别获取帖子,只需使用以下代码行发出请求:

$response = wp_remote_get('http://username: password@yoursite.com/wp-json/wp/v2/posts/?categories=3');

1

$ response = wp_remote_get('http://username:password@yoursite .com/wp -json/wp/v2/posts/?categories=3');

在上面的代码中,我只请求某个类别的帖子使用WordPress REST API。但是,如果我在未通过设置的身份验证条件的情况下尝试访问受限资源,则会返回错误。

最后的想法

WordPress REST API 是一个强大的工具,可用于构建新插件、升级现有 Web 项目和自动执行任务。使用 REST API 是将您的 Web 项目与 WordPress 连接起来的最快和最好的方式。

在本教程中,我解释了 REST API 是什么、它是如何工作的,以及 WordPress REST API 是如何工作的。我建议您对其进行测试和试验,以了解这个惊人功能的真正威力。

此外,不要忘记在下面的评论中分享您的经验。