1 回答
TA贡献1842条经验 获得超12个赞
据我所知,您的代码中有几个问题。
你有一个错字
args
-nema
=>name
您正在使用
PUT
HTTP 方法,我们通常将其用于更新,在创建 REST 对象时,我们通常使用POST
. (您也可以使用WP_REST_SERVER::CREATABLE
常量您通过查询字符串而不是使用请求正文(表单数据)传递参数
要验证电子邮件地址,您只需使用 WordPress
is_email()
功能。
将它们放在一起应该看起来像这样:
<?php
add_action('rest_api_init', function () {
register_rest_route('user/v2', 'register', [
'method' => WP_REST_SERVER::CREATABLE,
'callback' => 'user_create_callback',
'args' => array (
'name' => array (
'required' => true,
'sanitize_callback' => 'sanitize_text_field'
),
'password' => array (
'required' => true,
'sanitize_callback' => 'sanitize_text_field'
),
'email' => array (
'required' => true,
'validate_callback' => 'is_email'
)
)
]);
});
function user_create_callback($args)
{
wp_create_user( $args['name'], $args['password'], $args['email'] );
return ['status' => 'user created successfuly'];
}
?>
- 1 回答
- 0 关注
- 167 浏览
添加回答
举报