WordPress admin panel custom landing page after login

Redirect to different landing page after successful login on wordpress admin panel, if user not a super admin.

In your theme’s functions.php:

function your_login_redirect()
    {
      if(!is_super_admin()){
            return admin_url( 'edit.php' );
       } else {
          return admin_url();
       }       
    }
 
    add_filter( 'login_redirect', 'your_login_redirect');

Change default admin page for specific role(s)

function hide_the_dashboard()
{
    global $current_user;
    // is there a user ?
    if ( is_array( $current_user->roles ) ) {
        // substitute your role(s):
        if ( in_array( 'custom_role', $current_user->roles ) ) {
            // hide the dashboard:
            remove_menu_page( 'index.php' );
        }
    }
}
add_action( 'admin_menu', 'hide_the_dashboard' );
 
function your_login_redirect( $redirect_to, $request, $user )
{
    // is there a user ?
    if ( is_array( $user->roles ) ) {
        // substitute your role(s):
        if ( in_array( 'custom_role', $user->roles ) ) {
            // pick where to redirect to, in the example: Posts page
            return admin_url( 'edit.php' );
        } else {
            return admin_url();
        }
    }
}
add_filter( 'login_redirect', 'your_login_redirect', 10, 3 );
 

I hope you like this Post, Please feel free to comment below, your suggestion and problems if you face - we are here to solve your problems.

DMCA.com Protection Status