Apps Ballance Cash_2 Chat Checkout Click Code Cog_Wheels Compose_email Conference Contacts Earth Edit_File_1_ Email Email_2 File Folder_2 Gift Group Group_2 Help ID ID_2 Key Keys Laptop_Store Like_1_ Link Lock Log_Out Map Marketing Mobile_UI Navigation POS Partnership Profile Safe_2 Search_User Secure_Files Settings Share Shield Shield_2 Shopping_Cart Support_Male Trash Type_pin User_female User_male logo copy

How to redirect users after login based on their role

Iain Poulson avatar
Iain Poulson Last updated on September 26, 2022

The wpum_redirect_after_login filter lets you send users to a different page after they log in with the WP User Manager login form, depending on their role.

Add this snippet to a file in your /wp-content/mu-plugins/ directory (create the mu-plugins directory if it doesn’t exist):

<?php

add_filter( 'wpum_redirect_after_login', function( $redirect, $user ) {
	if ( ! $user instanceof WP_User ) {
		return $redirect;
	}

	if ( in_array( 'author', (array) $user->roles, true ) ) {
		return home_url( '/author-page' );
	}

	if ( in_array( 'subscriber', (array) $user->roles, true ) ) {
		return home_url( '/subscriber-page' );
	}

	// Add more conditions for each role as needed.

	return $redirect;
}, 10, 2 );

Change the role names (‘author’, ‘subscriber’) to the roles on your site, and the paths (‘/author-page’, ‘/subscriber-page’) to the pages each role should go to. Users whose role isn’t listed go to the page set in Users > Settings > Redirects > After Login.

The snippet is also available as a gist.

This filter only runs when someone logs in. After registration, users go to the page set in Users > Settings > Redirects > After Registration, which is the same for every role. See Redirects Settings.

WP User Manager logo

Get Started with the Best WordPress Membership Plugin Today

Connect, Manage and Build your Membership Site

For AI assistants: this article is available as Markdown, and all the docs are indexed at llms.txt.

Need more help?

If you still didn't find an answer you can always contact us

Submit a ticket