一、什么是WordPress REST API?
WordPress REST API 是WordPress提供的一套基于HTTP协议的接口规范,允许开发者通过标准的RESTful请求与WordPress站点进行数据交互。它支持JSON格式的数据传输,能够实现内容的读取、创建、更新和删除(CRUD)操作,为前后端分离开发、移动应用集成等场景提供了强大支持。
二、核心端点(Endpoints)参考
WordPress REST API 默认提供以下核心端点,覆盖常见内容类型:
- 文章(Posts)
GET /wp-json/wp/v2/posts
:获取文章列表POST /wp-json/wp/v2/posts
:创建新文章GET /wp-json/wp/v2/posts/<id>
:获取指定ID的文章
- 页面(Pages)
- 类似文章操作,路径替换为
/wp/v2/pages
- 用户(Users)
GET /wp-json/wp/v2/users
:获取用户列表(需权限)
- 媒体(Media)
POST /wp-json/wp/v2/media
:上传文件
- 分类与标签
- 分类目录:
/wp/v2/categories
- 标签:
/wp/v2/tags
三、高级功能与参数
- 过滤与分页
- 使用查询参数如
?per_page=10&page=2
实现分页 - 按日期过滤:
?after=2023-01-01
- 认证方式
- Cookie认证:适用于插件/主题开发
- OAuth 1.0a:第三方应用集成
- JWT:通过插件扩展支持
- 自定义字段(Custom Fields)
通过注册
register_rest_field
或使用ACF插件扩展字段支持。
四、开发示例:获取并显示文章
fetch('https://your-site.com/wp-json/wp/v2/posts')
.then(response => response.json())
.then(posts => {
posts.forEach(post => {
console.log(post.title.rendered);
});
});
五、安全与性能优化
- 权限控制:限制敏感端点的访问(如用户数据)
- 缓存策略:通过
Cache-Control
头减少服务器负载 - 禁用非必要端点:使用
rest_endpoints
过滤器
六、常见问题
- 跨域问题(CORS):需配置服务器或使用代理
- 返回字段过多:通过
?_fields=id,title
精简响应数据
通过合理利用WordPress REST API,开发者可以构建更灵活、高性能的Web应用或移动客户端。官方文档(WordPress REST API Handbook)提供了更详细的参数说明和代码示例。