无法在 WordPress 的自定义用户注册中使用手动散列密码登录 WordPress 管理员

Cannot login to WordPress admin with manually hashed password in custom user registration in WordPress

我在我的 WordPress 网站中创建了一个自定义注册页面供访问者注册。在这个页面上,我正在收集用户的密码并在它进行密码散列后保存它,$password_hash = wp_hash_password($password)。但是当我尝试登录 wp-admin 时,它显示 密码不正确

这是我用来保存用户数据的代码片段:

function process_registration() {
   $password = sanitize_text_field( $_POST['signup_password'] );
   //Grabbing other values like firstname, lastname etc.

  $password_hash = wp_hash_password( $password );

  $user_data = array(
     //other fields...
     'user_pass' => $password_hash,
     'role' => 'contributor',
  );

  $new_user_id = wp_insert_user( $user_data );

  if( is_wp_error( $new_user_id ) ) {
    //Do some stuff
  } else {
    // Do something else
  }
}

但是,从 wp-admin 面板创建的用户可以正常登录。这不可能收集用户的密码并将其保存在自定义注册表单中,以后使用相同的密码进行登录吗?

我还是 WordPress 新手。

更新

在查看一些文章和话题后,我意识到即使是相同的文本生成散列字符串也总是不同的,这就是为什么它无法将散列密码与当前密码相匹配的原因。如果是这样,在 WordPress 管理员中创建的另一个用户如何能够登录?这是使用不同的方法吗?如果是,什么?但它不是,我缺少什么?

function process_registration() {

    global $wpdb;
    $password_converter=wp_hash_password('tara123451');
        $user_insert_query=$wpdb->insert('wp_users', array(
        'user_login' =>'username1',
        'user_pass' =>$password_converter,
        'user_email' =>'email_id@name.com',
        ));

        $user_id = $wpdb->insert_id;
        wp_update_user(array(
        'ID' =>$user_id,
        'role' => 'contributor'
        ));
}