WordPress实用技巧 管理员快速登录其他用户账户

王小优
王小优
王小优
231
文章
0
评论
2015年12月2日
评论
4,586 1045字阅读3分29秒

如果你的WordPress项目需要经常切换不同的账户,那么不妨试试这段代码,可以大大提高你的工作效率。

虽说WordPress只是一个博客系统,但它的强大甚至于可与许多专业CMS系统并肩,要知道美国白宫的官网都是用WP搭建的(题外话)。因此在商业项目中,有很多外包的网站都是使用WordPress系统,一般来说开发者都会给客户一个独立的账号去管理内容。

WordPress实用技巧 管理员快速登录其他用户账户

这样就会有几率出现下面这个场景:

客户说使用后台遇到了某某问题,开发者登陆后发现并没有,而客户坚持说“我的账号登上去会出现”,那只有拿着客户的账号去登陆测试了。这就有几个问题了;

1、如果你不知道他的密码,就要向他询问;如果多次解决问题而你又没有记住他的密码,那就要多次询问...

2、拿到密码,你需要退出,再登陆客户的账号,真麻烦...

现在给你的WordPress添加一个功能“以此身份登陆”,让你在管理员后台一键进入别的账户后台,是不是很爽?如下图:

WordPress实用技巧 管理员快速登录其他用户账户

操作方法:

将下面代码放入你的主题模板函数functions.php文件中:

  1. add_filter('user_row_actions', function($actions$user){  
  2. $capability = (is_multisite())?'manage_site':'manage_options';  
  3. if(current_user_can($capability)){  
  4. $actions['login_as'] = '<a title="以此身份登陆" href="'.wp_nonce_url("users.php?action=login_as&users=$user->ID", 'bulk-users').'">以此身份登陆</a>';  
  5. }  
  6. return $actions;  
  7. }, 10, 2);  
  8.    
  9. add_filter('handle_bulk_actions-users', function($sendback$action$user_ids){  
  10. if($action == 'login_as'){  
  11. wp_set_auth_cookie($user_ids, true);  
  12. wp_set_current_user($user_ids);  
  13. }  
  14. return admin_url();  
  15. },10,3);  

不过这也有一个小小的不足就是,非管理员账户将不支持这个功能,因此你无法一键“滚回来”了,不过多少提高了工作效率,不是么?

若文章图片、下载链接等信息出错,请在评论区留言反馈,博主将第一时间更新!如果喜欢,请打赏支持本站,谢谢大家!
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微博
  • 微博扫一扫
  • weinxin
王小优
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: