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