BP_Members_Admin::profile_admin_head()

Highlight the Users menu if on Edit Profile and check if on the user’s admin profile.

Description

Source

File: bp-members/classes/class-bp-members-admin.php

661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
public function profile_admin_head() {
    global $submenu_file, $parent_file;
 
    // Is the user editing their own profile?
    if ( is_user_admin() || ( defined( 'IS_PROFILE_PAGE' ) && IS_PROFILE_PAGE ) ) {
        $this->is_self_profile = true;
 
    // Is the user attempting to edit their own profile.
    } elseif ( isset( $_GET['user_id' ] ) || ( isset( $_GET['page'] ) && ( 'bp-profile-edit' === $_GET['page'] ) ) ) {
        $this->is_self_profile = (bool) ( $this->get_user_id() === $this->current_user_id );
    }
 
    // Force the parent file to users.php to open the correct top level menu
    // but only if not editing a site via the network site editing page.
    if ( 'sites.php' !== $parent_file ) {
        $parent_file  = 'users.php';
        $submenu_file = 'users.php';
    }
 
    // Editing your own profile, so recheck some vars.
    if ( true === $this->is_self_profile ) {
 
        // Use profile.php as the edit page.
        $edit_page = 'profile.php';
 
        // Set profile.php as the parent & sub files to correct the menu nav.
        if ( is_blog_admin() || is_user_admin() ) {
            $parent_file  = 'profile.php';
            $submenu_file = 'profile.php';
        }
 
    // Not editing yourself, so use user-edit.php.
    } else {
        $edit_page = 'user-edit.php';
    }
 
    if ( is_user_admin() ) {
        $this->edit_profile_url = add_query_arg( $this->edit_profile_args, user_admin_url( 'profile.php' ) );
        $this->edit_url         = user_admin_url( 'profile.php' );
 
    } elseif ( is_blog_admin() ) {
        $this->edit_profile_url = add_query_arg( $this->edit_profile_args, admin_url( 'users.php' ) );
        $this->edit_url         = admin_url( $edit_page );
 
    } elseif ( is_network_admin() ) {
        $this->edit_profile_url = add_query_arg( $this->edit_profile_args, network_admin_url( 'users.php' ) );
        $this->edit_url         = network_admin_url( $edit_page );
    }
}

Changelog

Changelog
Version Description
BuddyPress 2.1.0 Introduced.

Questions?

We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.