- 此文需要对add_action() 有一定的理解, 以下代码都写在插件文件 icanfly.php中,关于如何创建插件可以参考文章 Wordpress插件开发 *
WP hook和filter文档可以查阅WP的官网,Code Reference
add_action('rest_api_init', 'i_can_fly_api');
/**
* 在这个方法中注册你所需要的路由
*/
function i_can_fly_api() {
//获取用户信息,对应接口地址 //your-domain/wp-json/api/user
register_rest_route('api', 'user', [
'methods' => 'POST,GET',
'callback' => 'i_can_fly_user',//回调方法,在这个方法中写具体实现
]);
//修改密码
register_rest_route('api', 'password', [
'methods' => 'PUT',
'callback' => 'i_can_fly_password'
]);
}
/**
* 获取用户信息具体实现
*/
function i_can_fly_user($request) {
$headers = $request->get_headers();//http 头信息
$sign = $headers['authorization'][0] ?? '';
$params = $request->get_params();
ksort($params);
$query_string = http_build_query($params);
$real_sign = md5($query_string);
if ($real_sign == $sign) {
$user_id = $params['user_id'];
$user = get_user_by('ID', $user_id);
if ($user) {
return [
'code' => 0,
'message' => 'ok',
'data' => $user
];
}
}
return ['message' => '请求失败!'];
}
...
接口链接:
your-domain/wp-json/api/user