重置密码后WordPress自动登录

Web*_*102 0 wordpress

我正在开发自定义 WordPress 登录模块,但遇到了一些问题。如果用户在网站上完成了他的调查,他将使用他的电子邮件地址进行注册,然后密码重置链接将发送到用户的电子邮箱。如果他点击链接,他将被重定向到重置密码面板。一旦他设置了密码,他就会被重定向到登录面板,但我想让他自动登录并重定向到特定页面。所以这个想法是删除不必要的登录步骤。是否可以?谢谢

Web*_*102 7

我终于用下面的代码自己管理了它。希望此代码对其他人有帮助!

add_action( 'validate_password_reset', 'rsm_redirect_after_rest', 10, 2 );
function rsm_redirect_after_rest($errors, $user) {
    if ( ( ! $errors->get_error_code() ) && isset( $_POST['pass1'] ) && !empty( $_POST['pass1'] ) ) {
        reset_password( $user, $_POST['pass1'] );

        list( $rp_path ) = explode( '?', wp_unslash( $_SERVER['REQUEST_URI'] ) );
        $rp_cookie = 'wp-resetpass-' . COOKIEHASH;
        setcookie( $rp_cookie, ' ', time() - YEAR_IN_SECONDS, $rp_path, COOKIE_DOMAIN, is_ssl(), true );

        wp_set_current_user( $user->ID );
        wp_set_auth_cookie( $user->ID );
        do_action( 'wp_login', $user->user_login, $user );//`[Codex Ref.][1]
        wp_redirect( home_url() );
        exit;
    }
}
Run Code Online (Sandbox Code Playgroud)