BP_Members_Admin::profile_nav( object|null $user = null, string $active = 'WordPress' )
Create the Profile navigation in Edit User & Edit Profile pages.
Description
Parameters
- $user
-
(Optional) User to create profile navigation for.
Default value: null
- $active
-
(Optional) Which profile to highlight.
Default value: 'WordPress'
Return
(string|null)
Source
File: bp-members/classes/class-bp-members-admin.php
public function profile_nav( $user = null, $active = 'WordPress' ) {
// Bail if no user ID exists here.
if ( empty( $user->ID ) ) {
return;
}
// Add the user ID to query arguments when not editing yourself.
if ( false === $this->is_self_profile ) {
$query_args = array( 'user_id' => $user->ID );
} else {
$query_args = array();
}
// Conditionally add a referer if it exists in the existing request.
if ( ! empty( $_REQUEST['wp_http_referer'] ) ) {
$wp_http_referer = wp_unslash( $_REQUEST['wp_http_referer'] );
$wp_http_referer = wp_validate_redirect( esc_url_raw( $wp_http_referer ) );
$query_args['wp_http_referer'] = urlencode( $wp_http_referer );
}
// Setup the two distinct "edit" URL's.
$community_url = add_query_arg( $query_args, $this->edit_profile_url );
$wordpress_url = add_query_arg( $query_args, $this->edit_url );
$bp_active = false;
$wp_active = ' nav-tab-active';
if ( 'BuddyPress' === $active ) {
$bp_active = ' nav-tab-active';
$wp_active = false;
} ?>
<h2 id="profile-nav" class="nav-tab-wrapper">
<?php
/**
* In configs where BuddyPress is not network activated, as regular
* admins do not have the capacity to edit other users, we must add
* this check.
*/
if ( current_user_can( 'edit_user', $user->ID ) ) : ?>
<a class="nav-tab<?php echo esc_attr( $wp_active ); ?>" href="<?php echo esc_url( $wordpress_url );?>"><?php _e( 'Profile', 'buddyboss' ); ?></a>
<?php endif; ?>
<a class="nav-tab<?php echo esc_attr( $bp_active ); ?>" href="<?php echo esc_url( $community_url );?>"><?php _e( 'Extended Profile', 'buddyboss' ); ?></a>
</h2>
<?php
}
Changelog
| Version | Description |
|---|---|
| BuddyPress 2.0.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.