WordPress纯代码实现一键切换为其他用户身份登录

追格官方小助手/ 2023年03月07日/ WordPress/ 浏览 1176

用户在使用我们网站的时候,难免会出现各类问题,在解释不清楚的时候总不能让用户提供用户名和密码吧,这样显得特别不专业。


那么,我们有没有什么办法,在WordPress管理后台直接访问用户的用户中心呢?当然有,今天小编教你纯代码实现该办法,早些时候追格小编分享过相关WordPress插件的解决办法,有兴趣可以看看《WordPress插件User Switching用管理身份快速登录其他用户账户》。


插件管理如下图样式:


function zhuige_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', 'zhuige_user_switch_action', 10, 2);
 
function zhuige_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','zhuige_handle_user_switch_action', 10, 3);


上述代码,我们只需添加到当前WordPress主题的functions.php函数文件中即可。

发表评论

暂无评论,抢个沙发...

客服 工单