【问题标题】:Make redirections based on user role根据用户角色进行重定向
【发布时间】:2021-09-17 15:46:31
【问题描述】:

在我的网站中,我想拥有自定义用户角色。我创建了用户角色,但是当我相应地进行重定向时,这些角色不起作用。只有有效的管理员角色和订阅者角色。自定义用户角色不起作用。这是我的代码。有人可以帮我解决这个问题吗?

function disable_dashboard_access() {
    if( is_admin() && !defined('DOING_AJAX') ) {
        if ( is_user_logged_in()  && ( current_user_can('upload_users') || current_user_can('upload_videos') ) ) {
            wp_redirect(home_url('/dashboard/'));
            exit;
        } elseif ( is_user_logged_in()  && ( current_user_can('subscriber') || current_user_can('contributor') ) ) {
            wp_redirect(home_url('/my-account/'));
            exit;
        } else {
            wp_redirect(home_url('/login/'));
            exit;
        }
    }
}
add_action('init','disable_dashboard_access');

提前致谢。

【问题讨论】:

    标签: wordpress function user-controls wordpress-theming user-roles


    【解决方案1】:

    按角色重定向用户

    function wpsp_login_redirect($redirect_to, $request, $user){
            global $user;
            if (isset($user->roles) && is_array($user->roles))
            {
                if (in_array('administrator', $user->roles)) //check for admins
                {
                    return $redirect_to; // redirect them to the default place
                }
                else
                {
                    return site_url('/wp-admin/admin.php?page=sch-dashboard');
                }
            }
            return $redirect_to;
        }
        add_filter('login_redirect', 'wpsp_login_redirect', 10, 3);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-11
      • 1970-01-01
      • 2018-09-01
      • 1970-01-01
      • 2019-01-24
      • 1970-01-01
      • 1970-01-01
      • 2020-09-28
      相关资源
      最近更新 更多