WordPress REST API 实战:用 API 打造前后端分离应用
WordPress REST API 允许你将 WordPress 作为后端,通过 API 为前端应用、移动应用甚至其他网站提供数据。本文介绍 REST API 的使用方法、自定义端点和实际应用场景。
REST API 基础
WordPress 4.7+ 内置了 REST API 功能。默认端点:GET /wp-json/wp/v2/posts 获取文章列表;GET /wp-json/wp/v2/posts/{id} 获取单篇文章;GET /wp-json/wp/v2/categories 获取分类;GET /wp-json/wp/v2/tags 获取标签。所有请求需要在 URL 中加入 ?_wpnonce=xxx 或使用应用密码认证。
认证方式
Cookie 认证——在 WordPress 已登录状态下浏览器中访问,cookie 自动处理。应用密码(Application Passwords)——在用户个人资料中生成应用密码,使用 Basic Auth:Authorization: Basic base64(username:app_password)。JWT 认证——使用 JWT Auth for WP REST API 插件,支持 OAuth2 类似的 JWT token 认证。
注册自定义端点
在 functions.php 中注册自定义 REST 路由:add_action('rest_api_init', function() { register_rest_route('custom/v1', '/data', array('methods' => 'GET', 'callback' => 'custom_data_callback')); });。callback 函数返回数据,WordPress 自动序列化为 JSON。
实际应用场景
Vue/React 前端——用 WordPress 作为后端,前端用 Vue 或 React 构建 SPA。移动应用——为 iOS/Android 应用提供数据接口。小程序——微信小程序通过 REST API 获取文章数据。静态网站生成——用 REST API 拉取数据,用 Next.js 或 Astro 生成静态网站。
安全注意事项
暴露 REST API 需要注意:使用 register_rest_route 的 permission_callback 参数验证权限;使用 rest_pre_dispatch 过滤敏感数据;对敏感端点强制 HTTPS;对非登录用户隐藏管理端点。
总结
WordPress REST API 打开了 WordPress 作为 Headless CMS 的大门。掌握 API 开发和认证机制,你就能用 WordPress 构建真正现代化的应用架构。
