官方教學請參考:點我
非外掛情況:加入在function.php
外掛情況:加入在class的__construct()內
add_action('rest_api_init', function(){
register_rest_route( 'apitest/v1', '/apitest01/', array(
'methods' => 'POST',
'callback' => array($this,'testapi'),
)
);
});
//api網址=網站根目錄網址+wp-json/apitest/v1/apitest01
測試的function(實際上api做的事情)
要記得這邊有個小坑要注意,若上面的methods設定為post但實際上用get方式,反之亦然,api雖然依舊會執行function但會多回傳一個WP_ERROR的json將其視為路徑不存在
function testapi($data){
//$data相當於PHP變數$POST
echo json_encode(array('success'=>'測試成功'));
//但純回傳測試成功
exit();
}
接下來讓我們建立一支html檔做簡單的測試,內容如下:
<form action="網站根目錄網址+wp-json/apitest/v1/apitest01" method="POST">
<input type="submit" value="送交"/>
</form>
點擊按鈕送出後得到以下結果即代表成功!
{“success”:”\u6e2c\u8a66\u6210\u529f”}