如果你的WordPress项目需要经常切换不同的账户,那么不妨试试这段代码,可以大大提高你的工作效率。
虽说WordPress只是一个博客系统,但它的强大甚至于可与许多专业CMS系统并肩,要知道美国白宫的官网都是用WP搭建的(题外话)。因此在商业项目中,有很多外包的网站都是使用WordPress系统,一般来说开发者都会给客户一个独立的账号去管理内容。
这样就会有几率出现下面这个场景:
客户说使用后台遇到了某某问题,开发者登陆后发现并没有,而客户坚持说“我的账号登上去会出现”,那只有拿着客户的账号去登陆测试了。这就有几个问题了;
1、如果你不知道他的密码,就要向他询问;如果多次解决问题而你又没有记住他的密码,那就要多次询问...
2、拿到密码,你需要退出,再登陆客户的账号,真麻烦...
现在给你的WordPress添加一个功能“以此身份登陆”,让你在管理员后台一键进入别的账户后台,是不是很爽?如下图:
操作方法:
将下面代码放入你的主题模板函数functions.php文件即可
add_filter('user_row_actions', function($actions, $user){ $capability = (is_multisite())?'manage_site':'manage_options'; if(current_user_can($capability)){ $actions['login_as'] = '<a title="以此身份登陆" href="'.wp_nonce_url("users.php?action=login_as&users=$user->ID", 'bulk-users').'">以此身份登陆</a>'; } return $actions; }, 10, 2); add_filter('handle_bulk_actions-users', function($sendback, $action, $user_ids){ if($action == 'login_as'){ wp_set_auth_cookie($user_ids, true); wp_set_current_user($user_ids); } return admin_url(); },10,3);
以上代码来自于“我爱水煮鱼”博客
不过这也有一个小小的不足就是,非管理员账户将不支持这个功能,因此你无法一键“滚回来”了,不过多少提高了工作效率,不是么?
方法不错,对于用户多的wp站点很有用。
@80后记忆: 恩,根据个人需要增删功能
挺有用的!
实用。免得问对方要密码了~