Skip to main content
These filters allow you to customize the login and authentication experience.

sc_login_redirect_url

Filter the redirect URL after login.
add_filter( 'sc_login_redirect_url', function( $url ) {
    // Redirect to custom dashboard
    return home_url( '/my-account/' );
} );

// Or redirect based on user role
add_filter( 'sc_login_redirect_url', function( $url ) {
    $user = wp_get_current_user();
    
    if ( in_array( 'subscriber', $user->roles ) ) {
        return home_url( '/member-dashboard/' );
    }
    
    return $url;
} );

surecart/default_password_nag

Control whether new users see the password change nag after their account is created with a random, temporary password.
Parameters
Filter Parameters
add_filter( 'surecart/default_password_nag', function( $show, $user_id ) {
    return false; // Disable the nag
}, 10, 2 );

Use Cases

Redirect to Download After Purchase

add_filter( 'sc_login_redirect_url', function( $url ) {
    // If there's a pending download, redirect to downloads page
    if ( isset( $_COOKIE['sc_pending_download'] ) ) {
        return home_url( '/downloads/' );
    }
    
    return $url;
} );

Role-Based Redirects

add_filter( 'sc_login_redirect_url', function( $url ) {
    $user = wp_get_current_user();
    
    // Redirect admins to WordPress dashboard
    if ( in_array( 'administrator', $user->roles ) ) {
        return admin_url();
    }
    
    // Redirect members to member area
    if ( in_array( 'sc_member', $user->roles ) ) {
        return home_url( '/members/' );
    }
    
    // Redirect customers to their account
    return home_url( '/my-account/' );
} );

Redirect to Original Page

add_filter( 'sc_login_redirect_url', function( $url ) {
    // Check for stored redirect URL
    if ( isset( $_GET['redirect_to'] ) ) {
        $redirect = wp_validate_redirect( $_GET['redirect_to'], false );
        if ( $redirect ) {
          return esc_url( $redirect );
        }
    }
    
    // Check session/cookie for original page
    if ( isset( $_COOKIE['sc_original_page'] ) ) {
        $redirect = esc_url( $_COOKIE['sc_original_page'] );
        setcookie( 'sc_original_page', '', time() - 3600, '/' );
        return $redirect;
    }
    
    return $url;
} );

Disable Password Nag for Specific Users

add_filter( 'surecart/default_password_nag', function( $show, $user_id ) {
    $user = get_user_by( 'id', $user_id );
    
    // Don't nag users who signed up via social login
    if ( get_user_meta( $user_id, 'social_login', true ) ) {
        return false;
    }
    
    return $show;
}, 10, 2 );