WordPress REST API 全面指南:基础概念、使用方法与实战案例

作者:API传播员 · 2025-09-15 · 阅读时间:5分钟
WordPress REST API 是一个允许开发者从 WordPress 安装之外访问 WordPress 数据的接口,支持 JavaScript 调用,非常适合创建交互式网站和应用程序。本文介绍了 WordPress REST API 的基础知识、应用场景、常用命令以及使用时的注意事项,帮助开发者更灵活地进行应用程序开发。

一. 什么是 WordPress REST API?

WordPress REST API 是一个接口,使开发者能够从 WordPress 安装之外访问网站数据。它支持 JavaScript 调用,非常适合创建交互式网站和应用程序。

1. 什么是 API?

API(应用程序编程接口)是一组允许不同系统进行通信的工具。例如,当你在 WordPress 中嵌入 Google 地图时,实际上调用了 Google Maps API,实现了与地图服务的交互。

REST API 的特点在于,它允许外部系统与 WordPress 进行通信,这是 REST 的核心功能。

2. 什么是 REST?

REST(表述性状态转移)是一种 Web 系统交互标准,确保不同系统能够理解并交换数据。RESTful 应用需遵循以下原则:

  1. 统一接口:资源访问路径(URL)统一,支持通用方法(如 GET、POST 等)。
  2. 无状态性:每次请求包含足够信息供服务器处理。
  3. 缓存性:服务器响应可被客户端缓存,提高性能。
  4. 分层系统:客户端无需直接与服务器通信,可通过中间层处理请求。
  5. 按需代码:客户端可动态加载服务器提供的代码。

二. WordPress REST API 的背景与意义

WordPress REST API 于 2016 年 12 月随 WordPress 4.7 核心版本发布,之前以插件形式存在。它将 WordPress 从传统 CMS 转变为应用程序平台,使网站与应用程序开发更灵活。

1. 主要应用

  • Gutenberg 编辑器:区块编辑器通过 REST API 与数据库交互。
  • 单页应用程序(SPA):支持基于 JavaScript 的 SPA 开发。

2. 对用户与开发者的影响

  • 普通用户:界面体验改善,例如 Gutenberg 编辑器。
  • 开发者:可创建外观与 WordPress 不同的 SPA,并利用更多 JavaScript 技术。

三. 如何访问 WordPress REST API

1. 使用 WP-CLI

WP-CLI 是 WordPress 的命令行工具,可通过命令行管理 WordPress 网站:

  1. 在 Mac/Linux 打开终端,Windows 打开命令提示符。
  2. 通过 SSH 连接服务器,或在本地测试环境中操作。
  3. REST API 基础路径示例:

    http://yoursite.com/wp-json/wp/v2

2. 身份验证

  • 需要身份验证:访问草稿状态帖子。示例命令:
curl -X GET --user username:password -i http://yoursite.com/wp-json/wp/v2/posts?status=draft
  • 无需身份验证:访问已发布帖子:
curl -X GET http://yoursite.com/wp-json/wp/v2/posts

四. 常用 REST API 命令

1. GET

获取资源,例如获取所有已发布帖子:

curl -X GET http://yoursite.com/wp-json/wp/v2/posts/?status=published

2. POST

创建新资源,例如新建帖子:

curl -X POST http://yoursite.com/wp-json/wp/v2/posts/

3. PUT

更新资源,例如将草稿状态的帖子发布:

curl -X PUT http://yoursite.com/wp-json/wp/v2/posts/567 -d '{"status":"publish"}'

4. DELETE

删除资源,例如删除帖子:

curl -X DELETE http://yoursite.com/wp-json/wp/v2/posts/567

五. 使用 REST API 的注意事项

1. 兼容性

不支持 JavaScript 或禁用 JavaScript 的设备,REST API 无法工作。

2. 可访问性

基于 JavaScript 的网站可能对屏幕阅读器支持较差,需要优化。

3. SEO 影响

单页应用程序可能导致部分内容无法被搜索引擎索引,需要特别关注 SEO。


六. 如何禁用 REST API

可通过以下方式限制访问:

  1. 安装“禁用 WP REST API”插件。
  2. 在主题 functions.php 文件中添加:
add_filter('json_enabled', '__return_false');
add_filter('json_jsonp_enabled', '__return_false');

七. REST API 的实际应用案例

  • WordPress.com:管理界面完全基于 REST API 构建 SPA。
  • Gutenberg 编辑器:通过 REST API 与数据库交互,实现区块编辑。
  • Event Espresso:活动管理插件提供外部数据访问能力。
  • 今日美国:通过 REST API 将内容推送到 Facebook 即时文章和 Apple News,并开发 JavaScript 社交游戏。

八. 总结

WordPress REST API 为开发者提供了强大工具,使应用程序开发更灵活,但在使用时需考虑兼容性、可访问性与 SEO 问题。合理使用 REST API,可以为 WordPress 项目带来更多创新可能。


原文链接: https://kinsta.com/blog/wordpress-rest-api/