Skip to:
Content
Pages
Categories
Search
Top
Bottom

Reply To: Activity default tab

@venutius

Moderator

Hey, it looks like I gave up just a tad early. I think I’ve got it working now:

function bpex_set_member_default_nav() {
 
    	if ( ! bp_is_user_profile() && ! bp_is_user_activity() && ! bp_is_user() ) {
		return;
	}
        
        if ( bp_displayed_user_id() == get_current_user_id() ) {
        
        bp_core_new_nav_default(
            array(
                'parent_slug'       => buddypress()->activity->id,
	        // other "activity" sub_nav slugs : personal favorites friends groups mentons
                'subnav_slug'       => 'friends',
                'screen_function'   => 'bp_activity_screen_friends'
            )
        );
    }
}
add_action( 'bp_setup_nav', 'bpex_set_member_default_nav', 20 );

add_action( 'bp_setup_nav', 'bpex_just_me_tab', 50 );
add_action( 'bp_setup_admin_bar', 'bpex_admin_bar_add', 50 );

function bpex_just_me_tab() {
	
	if ( ! bp_is_user_profile() && ! bp_is_user_activity() && ! bp_is_user() ) {
		return;
	}
	
	global $bp;
	$is_own_view = false;
	$user_id = bp_displayed_user_id();
	
	if ( get_current_user_id() == $user_id ) $is_own_view = true;
	

	if ( $is_own_view ) {

		bp_core_remove_subnav_item( 'activity', 'just_me');

		bp_core_new_subnav_item( array(
			'name'            => _x( 'Personal', 'Profile activity screen sub nav', 'buddypress' ),
			'slug'            => 'just-me',
			'parent_url'      => bp_core_get_user_domain( $user_id ) . 'activity/',
			'parent_slug'     => 'activity',
			'screen_function' => 'bp_activity_screen_my_activity',
			'position'        => 10
		) );
	}

}

function bpex_admin_bar_add() {
	
	global $wp_admin_bar, $bp;

	if ( ! bp_use_wp_admin_bar() || defined( 'DOING_AJAX' ) ) {
		return false;
	}

	$user_id = get_current_user_id();
	
	if ( ! $user_id || $user_id == 0 || ! is_numeric( $user_id ) ) {
		return;
	}
	
	// Personal.
	$wp_admin_bar->remove_menu( 'my-account-activity-personal', 'my-account-activity' );

	$wp_admin_bar->add_menu( array(
		'parent'   => 'my-account-activity',
		'id'       => 'my-account-activity-personal',
		'title'    => 'Personal',
		'href'     => bp_core_get_user_domain( $user_id ) . 'activity/180/',
		'position' => 10
	) );
}

Give it a try

Skip to toolbar