# MemberPress: Different Login Destinations per Membership

> Sends members to a different page after logging in depending on the membership they hold, for example Gold members to the Gold dashboard.

- Type: PHP
- Runs: Run everywhere
- Category: [Memberships](https://wpide.com/library/category/memberships/)
- Requires: MemberPress
- Tags: memberpress, login, redirect
- Author: WPIDE Team
- Installs: 0
- Updated: 2026-10-28
- Page: https://wpide.com/library/memberpress-login-redirect-by-membership/

## Code

```php
if ( ! class_exists( 'MeprUser' ) ) {
    return;
}

// Membership ID => URL, highest tier first.
$wpide_mepr_login_pages = array(
    456 => home_url( '/gold-dashboard/' ),
    123 => home_url( '/members/' ),
);

$wpide_mepr_login_target = function ( $url, $user ) use ( $wpide_mepr_login_pages ) {
    if ( ! $user instanceof WP_User || user_can( $user, 'edit_posts' ) ) {
        return $url;
    }

    $member = new MeprUser( $user->ID );

    foreach ( $wpide_mepr_login_pages as $membership_id => $page ) {
        if ( $member->is_already_subscribed_to( $membership_id ) ) {
            return $page;
        }
    }

    return $url;
};

add_filter( 'mepr-process-login-redirect-url', $wpide_mepr_login_target, 10, 2 );
add_filter( 'login_redirect', function ( $url, $requested, $user ) use ( $wpide_mepr_login_target ) {
    return $wpide_mepr_login_target( $url, $user );
}, 20, 3 );
```

## Notes

Memberships are checked in the order listed, so put your highest tier first. Works with the MemberPress login form and wp-login.php.

## How to use it

Install the free WPIDE plugin (https://wordpress.org/plugins/wpide/), find "MemberPress: Different Login Destinations per Membership" in its snippet library and add it in one click; or create a new PHP snippet in WPIDE (or any code snippets plugin) and paste the code above. More snippets: https://wpide.com/library/
