wordpress管理员快速登录其他用户的账户

本文作者:
2周前 (07-04)

有的时候,客户说他们的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);

刷新WordPress后台,进入用户管理,你就会发现多了一个“以此身份登录”的按钮,点一下就自动退出管理员账号,并免密码以该账号登录。

相关文章