我的API中有PHP方法来处理POST请求:
...
$user_id = wp_create_user( $user_login, $user_pass, $user_login );
if ( is_wp_error( $user_id ) ) {
$base_response['message'] = $user_id->get_error_message();
$base_response['status'] = false;
return json_encode ($base_response);
}
...
如果用户已经存在时,收到错误消息,但为什么此消息($ base_response ['消息'])具有Unicode格式:" u041du0430 u0436u0430u043bu044c,u0446u0435 u0456u043c' u044f u043au043eu0440u0438u0441u0442u0443u0432u0430u0447u0430 u0432u0436u0435 u0456u0441u043du0443u0454!&#34 ;.如何改变这个?
答案 0 :(得分:1)
wp_create_user
功能中的参数错误。您需要在最后一个参数中传递电子邮件而不是user_login
。
$user_id = wp_create_user( $user_login, $user_pass, $user_email );
if ( is_wp_error( $user_id ) ) {
$base_response['message'] = $user_id->get_error_message();
$base_response['status'] = false;
return json_encode ($base_response);
}
请参阅文档以获取正确的参数: https://developer.wordpress.org/reference/functions/wp_create_user/
答案 1 :(得分:0)
问题出现在wordpress网站的西里尔语中,而json_encode无法正确转换西里尔语消息。当我将wordpress admin中的语言改为英语时,现在一切都很好。