Paid Memberships Pro sends all members to the page they were viewing before login by default. In some cases, you may want to redirect all members to a specific page after they log in, or send members to different pages based on their membership level.
This guide shows two code-based methods to set up login redirection. The first redirects all members to the same page. The second checks the member’s level and redirects them to a level-specific page.
For a no-code option, you can use the Member Homepages Add On. We share other login redirection strategies and a few other ways to set up redirects in our guide on How to Redirect Members on Login and Why You Should.

Recipe #1
Understanding the Code Recipe (Redirect All Members on Login)
This code changes the default login behavior for all members on your site.
It uses the login_redirect
filter to control where members are sent after logging in. The first function sets a global redirect URL for all members, regardless of their membership level.
About the Code Recipe
This code uses the login_redirect
filter to send all logged-in members to the same landing page after they log in.
It checks if the user has an active membership using pmpro_hasMembershipLevel()
. If they do, the function overrides the default redirect and sends them to a specific page, set by home_url( '/dashboard/' )
.
Before implementing this code recipe:
- Replace
/dashboard/
with the slug or path for your preferred landing page on line 18
The Code Recipe
Adding the Recipe to Your Website
You can add this recipe to your site by creating a custom plugin or using the Code Snippets plugin available for free in the WordPress repository. Read this companion article for step-by-step directions on either method.
Recipe #2
Understanding the Code Recipe (Redirect Members Based on Level)
This code sets up different login redirect URLs for users based on their membership level.
The login_redirect
filter runs after a successful login. The function checks the user’s membership level using pmpro_hasMembershipLevel()
and returns a different landing page depending on their membership level.
About the Code Recipe
This code uses the login_redirect
filter to send logged-in users based on their membership level to a specific landing page after they log in.
It checks if the user has an active membership using pmpro_hasMembershipLevel()
. If they do, the function overrides the default redirect and sends them to a specific page, set by home_url( '/dashboard/' )
.
Before implementing this code recipe:
- You can tweak this code to your needs by changing the membership level IDs in the
pmpro_hasMembershipLevel()
checks and the URLs in thehome_url()
calls. - In this code recipe, we are redirecting users as follows:
- Members of Level ID 1 are sent to a page at yourdomain.com/level-one/
- Members of Level ID 2 are sent to a page at yourdomain.com/level-two/
- Members of Level ID 3 are sent to a page at yourdomain.com/level-three/
- All other members, as well as non-members are sent to the homepage.