今天缙哥哥在看公众号的时候发现,有人反映不能充VIP,但是缙哥哥自己登录查看一切正常,又解释不清楚,怎么办?于是问他要账号密码,登录上去看看。但是每次都找用户要账号密码,多少有点麻烦和不智能,还让人感觉麻烦和反感,So,将下面这段代码放入 functions.php 可以让管理员快速登录其他用户的账户。
WordPress大学之前已经发过一篇《WordPress 一键切换为其他用户身份登录》,今天,同样的功能,我们用纯代码来解决这个问题,并中文显示。
- /**
- * WordPress 后台管理员免密一键切换其他账号登录
- */
- function wpdx_user_switch_action($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;
- }
- add_filter('user_row_actions', 'wpdx_user_switch_action', 10, 2);
- function wpdx_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);
- }
- return admin_url();
- }
- add_filter('handle_bulk_actions-users','wpdx_handle_user_switch_action', 10, 3);
刷新 WordPress 后台,进入用户管理,你就会发现多了一个“以此身份登录”的按钮,点一下就自动退出管理员账号,并免密码以该账号登录。