在使用wordpress建站时间,有时候我们需要使用其他用户身份登录。将下面这段代码放入functions.php 可以让管理员快速登录其他用户的账户。
小浩博客之前已经发过一篇类似使用插件达到此功能的文章,今天,同样的功能,我们用纯代码来解决这个问题,并中文显示。
- /**
- *WordPress后台管理员免密一键切换其他账号登录
- *https://www.xhsay.com/wordpress-user-switch-code.html
- */
- functionwpdx_user_switch_action($actions,$user){
- $capability=(is_multisite())?’manage_site’:’manage_options’;
- if(current_user_can($capability)){
- $actions[‘login_as’]=‘<atitle=“以此身份登录”href=“‘.wp_nonce_url(“users.php?action=login_as&users=$user->ID“,‘bulk-users’).’”>以此身份登录</a>’;
- }
- return$actions;
- }
- add_filter(‘user_row_actions’,‘wpdx_user_switch_action’,10,2);functionwpdx_handle_user_switch_action($sendback,$action,$user_ids){
- if($action==‘login_as’){
- wp_set_auth_cookie($user_ids,true);
- wp_set_current_user($user_ids);
- }
- returnadmin_url();
- }
- add_filter(‘handle_bulk_actions-users’,’wpdx_handle_user_switch_action’,10,3);
刷新 WordPress 后台,进入用户管理,你就会发现多了一个“以此身份登录”的按钮,点一下就自动退出管理员账号,并免密码以该账号登录。
是不是很方便测试了?快去试试看吧!