Skip to:
Content

BuddyPress.org

Changeset 13547


Ignore:
Timestamp:
08/12/2023 02:05:52 AM (21 months ago)
Author:
imath
Message:

Adapt the BP Member WP Nav Menu items to the BP Rewrites API

When BP Rewrites are on, we need to use bp_get_component_navigations() to get the registered logged-in member's navigation items.

Props vapvarun

Fixes #8971
Closes https://github.com/buddypress/buddypress/pull/148

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/bp-core/bp-core-functions.php

    r13533 r13547  
    28082808
    28092809    // Pull up a list of items registered in BP's primary nav for the member.
    2810     $bp_menu_items = $bp->members->nav->get_primary();
     2810    $bp_menu_items = array();
     2811
     2812    if ( 'rewrites' !== bp_core_get_query_parser() ) {
     2813        $bp_menu_items = $bp->members->nav->get_primary();
     2814    } else {
     2815        $members_navigation = bp_get_component_navigations();
     2816
     2817        // Remove the members component navigation when needed.
     2818        if ( bp_is_active( 'xprofile' ) ) {
     2819            unset( $members_navigation['members'] );
     2820        }
     2821
     2822        foreach ( $members_navigation as $component_id => $member_navigation ) {
     2823            if ( ! isset( $member_navigation['main_nav'] ) ) {
     2824                continue;
     2825            }
     2826
     2827            $bp_menu_items[] = array(
     2828                'name' => $member_navigation['main_nav']['name'],
     2829                'slug' => $member_navigation['main_nav']['slug'],
     2830                'link' => bp_loggedin_user_url( bp_members_get_path_chunks( array( $member_navigation['main_nav']['slug'] ) ) ),
     2831            );
     2832        }
     2833    }
    28112834
    28122835    // Some BP nav menu items will not be represented in bp_nav, because
Note: See TracChangeset for help on using the changeset viewer.