一、什么是WordPress REST API?
WordPress REST API 是WordPress提供的一套基于HTTP協(xié)議的接口規(guī)范,允許開發(fā)者通過標(biāo)準(zhǔn)的RESTful請(qǐng)求與WordPress站點(diǎn)進(jìn)行數(shù)據(jù)交互。它支持JSON格式的數(shù)據(jù)傳輸,能夠?qū)崿F(xiàn)內(nèi)容的讀取、創(chuàng)建、更新和刪除(CRUD)操作,為前后端分離開發(fā)、移動(dòng)應(yīng)用集成等場(chǎng)景提供了強(qiáng)大支持。
二、核心端點(diǎn)(Endpoints)參考
WordPress REST API 默認(rèn)提供以下核心端點(diǎn),覆蓋常見內(nèi)容類型:
- 文章(Posts)
GET /wp-json/wp/v2/posts
:獲取文章列表POST /wp-json/wp/v2/posts
:創(chuàng)建新文章GET /wp-json/wp/v2/posts/<id>
:獲取指定ID的文章
- 頁面(Pages)
- 類似文章操作,路徑替換為
/wp/v2/pages
- 用戶(Users)
GET /wp-json/wp/v2/users
:獲取用戶列表(需權(quán)限)
- 媒體(Media)
POST /wp-json/wp/v2/media
:上傳文件
- 分類與標(biāo)簽
- 分類目錄:
/wp/v2/categories
- 標(biāo)簽:
/wp/v2/tags
三、高級(jí)功能與參數(shù)
- 過濾與分頁
- 使用查詢參數(shù)如
?per_page=10&page=2
實(shí)現(xiàn)分頁 - 按日期過濾:
?after=2023-01-01
- 認(rèn)證方式
- Cookie認(rèn)證:適用于插件/主題開發(fā)
- OAuth 1.0a:第三方應(yīng)用集成
- JWT:通過插件擴(kuò)展支持
- 自定義字段(Custom Fields)
通過注冊(cè)
register_rest_field
或使用ACF插件擴(kuò)展字段支持。
四、開發(fā)示例:獲取并顯示文章
fetch('https://your-site.com/wp-json/wp/v2/posts')
.then(response => response.json())
.then(posts => {
posts.forEach(post => {
console.log(post.title.rendered);
});
});
五、安全與性能優(yōu)化
- 權(quán)限控制:限制敏感端點(diǎn)的訪問(如用戶數(shù)據(jù))
- 緩存策略:通過
Cache-Control
頭減少服務(wù)器負(fù)載 - 禁用非必要端點(diǎn):使用
rest_endpoints
過濾器
六、常見問題
- 跨域問題(CORS):需配置服務(wù)器或使用代理
- 返回字段過多:通過
?_fields=id,title
精簡(jiǎn)響應(yīng)數(shù)據(jù)
通過合理利用WordPress REST API,開發(fā)者可以構(gòu)建更靈活、高性能的Web應(yīng)用或移動(dòng)客戶端。官方文檔(WordPress REST API Handbook)提供了更詳細(xì)的參數(shù)說明和代碼示例。