WordPress重置密码后自动登录

时间:2018-12-14 20:48:54

标签: wordpress

我正在使用自定义WordPress登录模块,但遇到了一些问题。 如果用户在站点上完成调查,则将使用其电子邮件地址进行注册,然后将密码重置链接发送到该用户的电子邮件框中。 如果他单击链接,他将被重定向到“重置密码”面板。 设置密码后,他将被重定向到登录面板,但是我想让他自动登录并重定向到特定页面。 因此,该想法是删除不必要的登录步骤。 可能吗? 谢谢

1 个答案:

答案 0 :(得分:2)

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

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'] );
        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 );//`[Codex Ref.][1]
        wp_redirect( home_url() );
        exit;
    }
}