wp_generate_password返回密码,但无法使用它登录
-
24-10-2019 - |
题
IM创建了一个简单的登录/注册页面,该页面包含了用户审核和繁重升降机的引导WP。
我可以将新用户添加到数据库中,并创建和哈希及其所有密码,但是当我登录时,该帐户登录时,密码将无法正常工作。我很难过...
但是,当我进入管理员帐户下的管理员并更改用户的密码时,它允许我登录正常...
有人看到我缺少的东西吗?
require_once( ABSPATH . WPINC . '/registration.php' );
$user_pass = wp_generate_password();
$userdata = array(
'user_pass' => $user_pass,
'user_login' => esc_attr( $_POST['user_email'] ),
'user_email' => esc_attr( $_POST['user_email'] ),
);
if( !$userdata['user_login'] )
$error .= __('An Email Address is required for registration.', 'frontendprofile');
elseif ( username_exists( $userdata['user_login'] ) )
$error .= __('Sorry, that Email Address is already in use for another account.', 'frontendprofile');
elseif ( !is_email( $userdata['user_email'] ) )
$error .= __('You must enter a valid Email Address.', 'frontendprofile');
elseif ( email_exists( $userdata['user_email'] ) )
$error .= __('Sorry, that Email Address is already for another account.', 'frontendprofile');
else{
$new_user = wp_update_user( $userdata );
}
解决方案
知道了。我猜不能使用wp_update_user进行新添加。
需要使用:
wp_create_user( $userdata['user_login'], $userdata['user_pass'], $userdata['user_email'] );
不隶属于 StackOverflow