什么是WordPress REST API?
WordPress REST API 是 WordPress 提供的一套基于 HTTP 協(xié)議的接口,允許開發(fā)者通過發(fā)送 HTTP 請求(如 GET、POST、PUT、DELETE)與 WordPress 站點進行交互。它采用 JSON 格式傳輸數據,使得 WordPress 可以與其他應用、移動端或前端框架(如 React、Vue.js)無縫集成。
為什么使用 WordPress REST API?
- 前后端分離:開發(fā)者可以使用 REST API 構建單頁應用(SPA),提升用戶體驗。
- 跨平臺兼容:支持移動應用、第三方服務與 WordPress 數據交互。
- 靈活性:可自定義端點,擴展 WordPress 功能。
基礎使用教程
1. 啟用 REST API
WordPress 4.7+ 版本默認啟用 REST API,無需額外安裝插件。如需調試,可使用工具如 Postman 或瀏覽器開發(fā)者工具。
2. 常用 REST API 端點
- 獲取文章:
GET /wp-json/wp/v2/posts
- 創(chuàng)建文章:
POST /wp-json/wp/v2/posts
(需認證) - 獲取用戶:
GET /wp-json/wp/v2/users
- 更新文章:
PUT /wp-json/wp/v2/posts/{id}
3. 發(fā)送請求示例
獲取最新10篇文章(JavaScript Fetch API):
fetch('https://你的網站/wp-json/wp/v2/posts?per_page=10')
.then(response => response.json())
.then(posts => console.log(posts));
創(chuàng)建文章(需認證):
curl -X POST https://你的網站/wp-json/wp/v2/posts \
-H "Authorization: Bearer 你的訪問令牌" \
-H "Content-Type: application/json" \
-d '{"title":"新文章", "content":"內容", "status":"publish"}'
4. 認證方式
- Cookie 認證:適用于同域請求(需登錄后臺)。
- OAuth 2.0:推薦第三方應用使用(需安裝插件如 OAuth Server)。
- JWT 認證:輕量級方案(安裝 JWT Authentication 插件)。
進階:自定義 REST API 端點
通過 register_rest_route()
函數擴展自定義 API:
add_action('rest_api_init', function () {
register_rest_route('custom/v1', '/hello', [
'methods' => 'GET',
'callback' => 'custom_hello_endpoint',
]);
});
function custom_hello_endpoint() {
return ['message' => 'Hello, REST API!'];
}
訪問地址:/wp-json/custom/v1/hello
安全注意事項
- 限制敏感數據的訪問權限(如用戶信息)。
- 使用 HTTPS 加密通信。
- 定期更新 WordPress 及插件,避免漏洞。
總結
WordPress REST API 為開發(fā)者提供了強大的數據交互能力,無論是構建移動應用、定制前端還是集成外部服務,都能高效實現。通過本教程,你可以快速掌握基礎操作并嘗試擴展自定義功能。
如需更詳細的文檔,可參考 WordPress REST API Handbook。