我正在尝试在注册后自动登录用户。
我正在尝试这个(functions.php):
add_action( 'user_register', 'auto_login_user' );
function auto_login_user($user_id) {
$user = new WP_User($user_id);
$user_login_var = $user->user_login;
$user_email_var = stripslashes($user->user_email);
$user_pass_var = $user->user_pass;
$creds = array();
$creds['user_login'] = $user_login_var;
$creds['user_password'] = $user_pass_var;
$creds['remember'] = true;
$user = wp_signon( $creds, false );
if ( is_wp_error($user) )
echo $user->get_error_message();
}
我收到错误 :您为用户名“TheNewUserCreated”输入的密码不正确。忘记密码?
如何从 User 对象中获取密码?
也因为这是模板 registration.php 中的自定义注册过程,我尝试将其与 $_POST 一起使用并在该文件中运行该函数,但我也没有成功...
编辑:
好的,我得到了加密的密码,那么这里的解决方案是什么,我如何自动登录用户?也许我可以在registration.php 页面中做到这一点?
最佳答案
将以下功能添加到 functions.php
文件
function auto_login_new_user( $user_id ) {
wp_set_current_user($user_id);
wp_set_auth_cookie($user_id);
// You can change home_url() to the specific URL,such as
//wp_redirect( 'http://www.wpcoke.com' );
wp_redirect( home_url() );
exit;
}
add_action( 'user_register', 'auto_login_new_user' );
关于wordpress - 注册 Wordpress 后自动登录用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16197157/