Are you looking for a way to redirect the user after they login based on their user role? This snippet will help you to redirect login user based on their role.
Instructions:
All you have to do is add this code to your theme’s functions.php file or in a site-specific plugin:
function redirect_user_on_role() { //retrieve current user info global $current_user; get_currentuserinfo(); //If login user role is Subscriber if ($current_user->user_level == 0) { wp_redirect( home_url() ); exit; } //If login user role is Contributor else if ($current_user->user_level > 1) { wp_redirect( home_url() ); exit; } //If login user role is Editor else if ($current_user->user_level >8) { wp_redirect( home_url() ); exit; } // For other roles else { $redirect_to = 'http://google.com/'; return $redirect_to; } } add_action('admin_init','redirect_user_on_role');
Note: If this is your first time adding code snippets in WordPress, then please refer to our guide on how to properly copy / paste code snippets in WordPress, so you don’t accidentally break your site.
If you liked this code snippet, please consider checking out our other articles on the site like: 6 Best WordPress Security Plugins Compared.
Thnx!
I was getting redirected to the homepage and was not getting access to the dashboard being an admin so I removed the last line, it’s working perfectly now thank you!
If you do that, you disable the whole script
Yes, as James mentioned, the last line enables the script, so removing it keeps the script from running. Line 24 needs to be set to the correct URL.