在多人共用一个帐号的情况下,有这样一种需求,我不需要知道WordPress的用户名和密码,就能自动登录到公共帐号。这样的需要该如何实现呢?
在主题中使用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禁止某用户编辑个人资料
如果你想禁止这个公用帐号修改密码,可以参考:WordPress禁止特定用户修改密码
Function Reference/wp signon
WordPress Auto-Login
拥有多年WordPress博客/企业建站开发经验,独树一帜的设计,提供最专业的网站设计方案;原创的主题标签语义化,增强网站优化效果。
增强用户体验、提高品牌形象给人留下深刻的印象,那就选择我们,我们的每一款主题都是独一无二的,都有自己的灵魂,每款主题都有各自的配色方案。
遵循现代网页设计的趋势,所有主题都提供完整的响应式布局,优化大桌面显示器以及对平板和智能手机的支持,从而提供一致性的用户体验。
长期及时地在线售后服务和免费升级更新,确保您的网站始终运行在最佳状态,24小时QQ在线的沟通方式免去您的后顾之忧,替您节省网站维护成本。
目前还没有评。