Function Reference: geodir_buddypress_login_redirect
Summary
Filter the login redirect URL.
Global Values
- $bp
- (object) (required) BuddyPress object.
- Default: None
Package
GeoDirectory_BuddyPress_Integration
Parameters
- $redirect_to
- (string) (required) The redirect destination URL.
- Default: None
- $requested_redirect_to
- (string) (required) The requested redirect destination URL passed as a parameter.
- Default: None
- $user
- (WP_User|WP_Error) (required) WP_User object if login was successful, WP_Error object otherwise.
- Default: None
Return Values
- (string)
- The redirect URL.
Change Log
Since: 1.0.2
Source File
geodir_buddypress_login_redirect() is located in geodir_buddypress/includes/gdbuddypress_functions.php [Line: 1544]
Source Code
function geodir_buddypress_login_redirect( $redirect_to, $requested_redirect_to, $user ) { // Only modify the redirect if we're on the main BP blog if ( !bp_is_root_blog() ) { return $redirect_to; } // Only modify the redirect once the user is logged in if ( !is_a( $user, 'WP_User' ) ) { return $redirect_to; } // If a 'redirect_to' parameter has been passed that contains 'wp-admin' if ( !empty( $redirect_to ) && false !== strpos( $redirect_to, 'wp-admin' ) && user_can( $user, 'edit_posts' ) ) { return $redirect_to; } $login_redirect = (int)get_option( 'gdbuddypress_login_redirect' ); switch ( $login_redirect ) { case 1: // Home page $redirect_to = trailingslashit( home_url() ); break; case 2: // Profile page $members_slug = bp_get_members_root_slug(); if ( $members_slug ) { $redirect_to = trailingslashit( bp_core_get_user_domain( $user->ID ) ); } else { $username = bp_core_get_username( $user->ID, $user->data->user_nicename, $user->data->user_login ); if ( bp_core_enable_root_profiles() ) { $redirect_to = trailingslashit( bp_get_root_domain() . '/' . $username ); } else { $bp_pages = bp_core_get_directory_pages(); if ( isset( $bp_pages->members->slug ) ) { $members_slug = $bp_pages->members->slug; } else { global $bp; $members_slug = defined( 'BP_MEMBERS_SLUG' ) ? BP_MEMBERS_SLUG : $bp->members->id; } $redirect_to = trailingslashit( bp_get_root_domain() . '/' . $members_slug . '/' . $username ); } } break; case 3: // Menu page $menu_redirect = (int)get_option( 'gdbuddypress_menu_redirect' ); if ( $menu_redirect > 0 ) { $redirect_to = get_permalink( $menu_redirect ); } break; } return $redirect_to; }