什么是WordPress REST API?
WordPress REST API 是 WordPress 提供的一套基于 HTTP 协议的接口,允许开发者通过标准的 RESTful 方式与 WordPress 站点进行交互。无论是获取文章、页面、用户数据,还是创建、更新或删除内容,都可以通过发送 HTTP 请求实现。
REST API 的核心概念
- 端点(Endpoints) WordPress REST API 提供了多个内置端点,例如:
/wp-json/wp/v2/posts
(文章)/wp-json/wp/v2/pages
(页面)/wp-json/wp/v2/users
(用户)
- HTTP 方法
GET
:获取数据POST
:创建数据PUT/PATCH
:更新数据DELETE
:删除数据
- 认证(Authentication) 默认情况下,某些操作(如创建或修改内容)需要认证,常见方式包括:
- Cookie 认证(适用于浏览器端)
- OAuth 1.0a(适用于第三方应用)
- JWT(JSON Web Token)(适用于前后端分离架构)
如何使用 WordPress REST API?
1. 获取文章列表
curl https://your-wordpress-site.com/wp-json/wp/v2/posts
返回的数据是 JSON 格式,包含文章标题、内容、作者等信息。
2. 创建新文章(需认证)
curl -X POST https://your-wordpress-site.com/wp-json/wp/v2/posts \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-d '{"title":"Hello World","content":"This is my first post via REST API","status":"publish"}'
3. 更新文章
curl -X PATCH https://your-wordpress-site.com/wp-json/wp/v2/posts/1 \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-d '{"title":"Updated Title"}'
自定义 REST API 端点
除了使用默认的 API,开发者还可以通过 register_rest_route()
注册自定义端点:
add_action('rest_api_init', function () {
register_rest_route('myplugin/v1', '/hello', [
'methods' => 'GET',
'callback' => function () {
return ['message' => 'Hello, REST API!'];
},
]);
});
访问 /wp-json/myplugin/v1/hello
即可获取自定义数据。
总结
WordPress REST API 为开发者提供了强大的扩展能力,适用于:
- 构建移动应用
- 开发单页应用(SPA)
- 与其他系统集成(如 CRM、电商平台)
如需更详细的文档,可参考 WordPress REST API 官方文档。