在使用wordpress建站时间,有时候我们需要使用其他用户身份登录。将下面这段代码放入 functions.php 可以让管理员快速登录其他用户的账户。
小浩博客之前已经发过一篇类似使用插件达到此功能的文章,今天,同样的功能,我们用纯代码来解决这个问题,并中文显示。
- /**
- * WordPress 后台管理员免密一键切换其他账号登录
- * https://www.xhsay.com/wordpress-user-switch-code.html
- */
- 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 后台,进入用户管理,你就会发现多了一个“以此身份登录”的按钮,点一下就自动退出管理员账号,并免密码以该账号登录。
是不是很方便测试了?快去试试看吧!
请登录之后再进行评论