什么是WordPress REST API?
WordPress REST API 是 WordPress 提供的一套基于 HTTP 協(xié)議的接口,允許開(kāi)發(fā)者通過(guò)標(biāo)準(zhǔn)的 RESTful 方式與 WordPress 站點(diǎn)進(jìn)行交互。無(wú)論是獲取文章、頁(yè)面、用戶數(shù)據(jù),還是創(chuàng)建、更新或刪除內(nèi)容,都可以通過(guò)發(fā)送 HTTP 請(qǐng)求實(shí)現(xiàn)。
REST API 的核心概念
- 端點(diǎn)(Endpoints) WordPress REST API 提供了多個(gè)內(nèi)置端點(diǎn),例如:
/wp-json/wp/v2/posts
(文章)/wp-json/wp/v2/pages
(頁(yè)面)/wp-json/wp/v2/users
(用戶)
- HTTP 方法
GET
:獲取數(shù)據(jù)POST
:創(chuàng)建數(shù)據(jù)PUT/PATCH
:更新數(shù)據(jù)DELETE
:刪除數(shù)據(jù)
- 認(rèn)證(Authentication) 默認(rèn)情況下,某些操作(如創(chuàng)建或修改內(nèi)容)需要認(rèn)證,常見(jiàn)方式包括:
- Cookie 認(rèn)證(適用于瀏覽器端)
- OAuth 1.0a(適用于第三方應(yīng)用)
- JWT(JSON Web Token)(適用于前后端分離架構(gòu))
如何使用 WordPress REST API?
1. 獲取文章列表
curl https://your-wordpress-site.com/wp-json/wp/v2/posts
返回的數(shù)據(jù)是 JSON 格式,包含文章標(biāo)題、內(nèi)容、作者等信息。
2. 創(chuàng)建新文章(需認(rèn)證)
curl -X POST https://your-wordpress-site.com/wp-json/wp/v2/posts \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-d '{"title":"Hello World","content":"This is my first post via REST API","status":"publish"}'
3. 更新文章
curl -X PATCH https://your-wordpress-site.com/wp-json/wp/v2/posts/1 \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-d '{"title":"Updated Title"}'
自定義 REST API 端點(diǎn)
除了使用默認(rèn)的 API,開(kāi)發(fā)者還可以通過(guò) register_rest_route()
注冊(cè)自定義端點(diǎn):
add_action('rest_api_init', function () {
register_rest_route('myplugin/v1', '/hello', [
'methods' => 'GET',
'callback' => function () {
return ['message' => 'Hello, REST API!'];
},
]);
});
訪問(wèn) /wp-json/myplugin/v1/hello
即可獲取自定義數(shù)據(jù)。
總結(jié)
WordPress REST API 為開(kāi)發(fā)者提供了強(qiáng)大的擴(kuò)展能力,適用于:
- 構(gòu)建移動(dòng)應(yīng)用
- 開(kāi)發(fā)單頁(yè)應(yīng)用(SPA)
- 與其他系統(tǒng)集成(如 CRM、電商平臺(tái))
如需更詳細(xì)的文檔,可參考 WordPress REST API 官方文檔。