搬码资源网广告位 搬码资源网广告位

WordPress实现用户自动登录的方法

在多人共用一个帐号的情况下,有这样一种需求,我不需要知道wordpress的用户名和密码,就能自动登录到公共帐号。这样的需要该如何实现呢?

方法一:wp_signon()

在主题中使用wordpress内置函数 wp_signon(),可将用户名和密码直接放到代码中,无需再去要求用户输入,快捷登录,省时省力:

if (!is_user_logged_in()) {
$creds = array();
$creds[‘user_login’] = ‘example’; // 用户名是example,自行修改
$creds[‘user_password’] = ‘plaintextpw’; // 密码是plaintextpw
$creds[‘remember’] = true;
$user = wp_signon( $creds,false );
if ( is_wp_error($user) )
echo $user->get_error_message();
}

将以上代码应用到你的wordpress中即可实现自动登录功能

方法二:无密码方式

现在有种更好的实现方法,不需要知道帐号密码,只需指定用户名即可,实现代码:

if (!is_user_logged_in()) {
$user_login = ‘example’; // 用户名是example,自行修改

// 获取用户id
$user = get_userdatabylogin($user_login);
$user_id = $user->ID;

// 登录
wp_set_current_user($user_id,$user_login);
wp_set_auth_cookie($user_id);
do_action(‘wp_login’,$user_login);
}

特别说明

如果将方法一或方法二的代码,直接放到主题的functions.PHP中,那么只要打开前台任何页面,就会自动登录到你设置的用户名下。本文只是提供自动登录的方法,至于是放到单独一个PHP文件,还是加token验证… 怎么用就得看具体的需求了。

当多个用户共用一个帐号的情况下,如果你想禁止其他人编辑这个帐号的资料(如密码),可以参考这篇文章:wordpress禁止某用户编辑个人资料

声明:
本站发布的文章及附件仅限用于学习和研究目的;不得将上述内容用于商业或非法用途,否则后果请用户自负。
本站资源来自网络收集,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。
如果您喜欢该程序,请支持正版软件,得到更好的正版服务。
本文链接:https://www.abnma.com/10109.html,转载请注明出处。
如有侵权,请邮件联系我们删除处理。

0
搬码资源网广告位

评论0

请先

没有账号? 注册  忘记密码?