| 520 | * Members user shortlink redirector. |
| 521 | * |
| 522 | * Redirects x.com/members/me/* to x.com/members/{LOGGED_IN_USER_SLUG}/* |
| 523 | * |
| 524 | * @since 2.6.0 |
| 525 | * |
| 526 | * @param string $member_slug The current member slug. |
| 527 | */ |
| 528 | function bp_core_members_shortlink_redirector( $member_slug ) { |
| 529 | /** |
| 530 | * Shortlink slug to redirect to logged-in user. |
| 531 | * |
| 532 | * x.com/members/me/* will redirect to x.com/members/{LOGGED_IN_USER_SLUG}/* |
| 533 | * |
| 534 | * @since 2.6.0 |
| 535 | * |
| 536 | * @var string $slug Defaults to 'me'. |
| 537 | */ |
| 538 | $me_slug = apply_filters( 'bp_core_members_shortlink_slug', 'me' ); |
| 539 | |
| 540 | // Check if we're on our special shortlink slug. If not, bail. |
| 541 | if ( $me_slug !== $member_slug ) { |
| 542 | return $member_slug; |
| 543 | } |
| 544 | |
| 545 | // If logged out, redirect user to login. |
| 546 | if ( false === is_user_logged_in() ) { |
| 547 | // Create anonymous function to perform redirect on the 'bp_template_redirect' hook. |
| 548 | $do_redirect = create_function( '', " |
| 549 | bp_core_no_access(); |
| 550 | exit(); |
| 551 | " ); |
| 552 | |
| 553 | add_action( 'bp_template_redirect', $do_redirect, 0 ); |
| 554 | return $member_slug; |
| 555 | } |
| 556 | |
| 557 | $user = wp_get_current_user(); |
| 558 | |
| 559 | return bp_core_get_username( $user->ID, $user->user_nicename, $user->user_login ); |
| 560 | } |
| 561 | add_filter( 'bp_core_set_uri_globals_member_slug', 'bp_core_members_shortlink_redirector' ); |
| 562 | |
| 563 | /** |