Redirect already logged in user

When accessing the default WordPress login url(wp-login.php) it shows the login form although user is already logged in.
Is there a way to avoid displaying the login again for logged in users?

  • Ash

    Hello steve

    Please try the following code:

    add_filter( 'nocache_headers', function() {
    	if( ! is_user_logged_in() ) return;
    
    	if ( $GLOBALS['pagenow'] === 'wp-login.php' && ! isset( $_REQUEST['action'] ) )
    	{
    		wp_redirect( admin_url() );
    		exit;
    	}
    } );

    You can use this code in your child theme's functions.php if the theme is not changed. Otherwise mu-plugin is the best option. To create a mu-plugin, go to wp-content/mu-plugins folder. If there is no mu-plugins folder then, create one. Now, inside the mu-plugins folder create file with name anything.php (make sure file extension is .php). Now start with a <?php tag and then put the above code.

    Hope it helps! Please feel free to ask more questions if you have any.

    Have a nice day!

    Cheers,
    Ash

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.