wp_generate_password返回密码,但无法使用它登录。

问题描述 投票:0回答:2

我创建了一个简单的登录注册页面,结合用户管理和引导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 );
}
wordpress wordpress-login
2个回答
0
投票

我知道了。 不能使用wp_update_user的新的添加我猜。

需要使用。

wp_create_user( $userdata['user_login'], $userdata['user_pass'], $userdata['user_email'] );


0
投票

现在,你需要使用这个 例如:

$password   = wp_generate_password( 8, false );
wp_set_password( $password, $user->ID );
© www.soinside.com 2019 - 2024. All rights reserved.