最新消息:Welcome to the puzzle paradise for programmers! Here, a well-designed puzzle awaits you. From code logic puzzles to algorithmic challenges, each level is closely centered on the programmer's expertise and skills. Whether you're a novice programmer or an experienced tech guru, you'll find your own challenges on this site. In the process of solving puzzles, you can not only exercise your thinking skills, but also deepen your understanding and application of programming knowledge. Come to start this puzzle journey full of wisdom and challenges, with many programmers to compete with each other and show your programming wisdom! Translated with DeepL.com (free version)

Redirect each user to specific pages based on their role

matteradmin5PV0评论

I want to make a multi-user website. Different types of users are Students, Teachers, Parents, Admin and counselor. I want to redirect each user to specific pages based on their type after logging in. How do I proceed? Is any plugin available?

How do I carry out registration and login?

Say, students should be redirected to a page student.php if and only if he is a student. Teachers should be redirected to say teacher.php.

All types of users have different dashboards.

I want to make a multi-user website. Different types of users are Students, Teachers, Parents, Admin and counselor. I want to redirect each user to specific pages based on their type after logging in. How do I proceed? Is any plugin available?

How do I carry out registration and login?

Say, students should be redirected to a page student.php if and only if he is a student. Teachers should be redirected to say teacher.php.

All types of users have different dashboards.

Share Improve this question edited Jun 19, 2018 at 12:27 fuxia 107k39 gold badges255 silver badges459 bronze badges asked Jun 19, 2018 at 12:21 Kanishk JainKanishk Jain 11 silver badge2 bronze badges 1
  • You can save their roles in meta fields and on login you can check the field and add the redirection accordingly. – Akshat Commented Jun 19, 2018 at 12:33
Add a comment  | 

1 Answer 1

Reset to default 2

You would make use of the login_redirect filter.

The example in the documentation looks a lot like what you are asking:

/**
 * Redirect user after successful login.
 *
 * @param string $redirect_to URL to redirect to.
 * @param string $request URL the user is coming from.
 * @param object $user Logged user's data.
 * @return string
 */

function wpse306427_login_redirect( $redirect_to, $request, $user ) {
    //is there a user to check?
    if (isset($user->roles) && is_array($user->roles)) {
        //check for subscribers
        if (in_array('subscriber', $user->roles)) {
            // redirect them to another URL, in this case, the homepage 
            $redirect_to =  home_url();
        }
    }

    return $redirect_to;
}

add_filter( 'login_redirect', 'wpse306427_login_redirect', 10, 3 );

You would put this code in a plug-in or in your theme's function.php.

Post a comment

comment list (0)

  1. No comments so far