Wordpress密码如何比较用户密码到wordpress用户表密码?

Bal*_*n K 2 php wordpress

自定义注册用户

wp_create_user(工作)

    $username='balan';
    $user_pass ='balan';
    $user_email= 'random_email@email.com';
    $password = wp_hash_password( $user_pass );
    $user_id = wp_create_user( $user_name, $password, $user_email );
Run Code Online (Sandbox Code Playgroud)

自定义登录用户

    $username='balan';
    $user = get_user_by( 'login', $username );
    $pass ='balan';
    $hash = wp_hash_password($pass);
    if (wp_check_password( $pass, $user->data->user_pass, $user->ID ) ) {
        echo "<br>Correct";
    } else {
        echo "<br>Wrong";
    }
    **WordPress login function** 
    $creds = array();
    $creds['user_login'] = 'balan';
    $creds['user_password'] ='balan';
    $creds['remember'] = true;
    $user = wp_signon( $creds, false );
Run Code Online (Sandbox Code Playgroud)

比较登录密码时出错.如何比较登录密码? wp_check_password()不管用.请帮我解决这个问题.

Par*_*ria 5

将已经散列的密码与其纯文本字符串进行比较,以下是示例.

<?php
$wp_hasher = new PasswordHash(8, TRUE);

$password_hashed = '$P$B55D6LjfHDkINU5wF.v2BuuzO0/XPk/';
$plain_password = 'test';

if($wp_hasher->CheckPassword($plain_password, $password_hashed)) {
    echo "YES, Matched";
} else {
    echo "No, Wrong Password";
}
?>
Run Code Online (Sandbox Code Playgroud)

我猜$user->data->user_pass你不需要$user->user_pass;按照这里的文档使用https://developer.wordpress.org/reference/functions/get_user_by/

我只是猜测因为我不知道什么print_r($user);回来了

希望能帮助到你 !