Skip to:
Content
Pages
Categories
Search
Top
Bottom

Search Results for 'bp_core_remove_nav_item'

Viewing 25 results - 51 through 75 (of 130 total)
  • Author
    Search Results
  • #258439
    jaumearagay
    Participant

    Hi there! 🙂

    I want to suppress the whole Activity tab and Make the Profile the default tab. I’ve found code to do that but then I get a 404 error page when I click on a user’s link.

    This is the code I’ve found:

    /* *** */

    /* Remove Activity tab from profile */

    define( ‘BP_DEFAULT_COMPONENT’, ‘profile’ ); // Triem nova pestanya per defecte

    function bphelp_remove_activity_from_profile(){

    bp_core_remove_nav_item(‘activity’);
    }
    add_action(‘bp_activity_setup_nav’,’bphelp_remove_activity_from_profile’);

    /* *** */

    Is there something wrong or missing?

    Thanks in advance.

    Jaume.

    #258342
    Fantacular Designs
    Participant

    My brilliant husband is my coder… He figured out how to define the default component, and saved the day. I hope this helps others.

    define( 'BP_DEFAULT_COMPONENT', 'profile' );
    
    function bpfr_hide_tabs() {
    global $bp;
    
    	if ( bp_is_user() && !is_super_admin() ) {
    		bp_core_remove_nav_item( 'activity');
    		bp_core_remove_nav_item( 'notifications');
    		bp_core_remove_nav_item( 'messages' );
    		bp_core_remove_nav_item( 'forums' );
    		bp_core_remove_nav_item( 'groups' );
    		bp_core_remove_nav_item( 'settings' );
    	}
    	
    }
    add_action( 'bp_setup_nav', 'bpfr_hide_tabs', 15 );
    #258234
    Fantacular Designs
    Participant

    I also attempted to add them individually…

    function bpfr_hide_tabs() {
    global $bp;
    
    	if ( bp_is_user() && !is_super_admin() ) {
    		bp_core_remove_nav_item( 'activity' );
    		bp_core_remove_nav_item( 'notifications' );
    		bp_core_remove_nav_item( 'messages' );
    		bp_core_remove_nav_item( 'groups' );
    		bp_core_remove_nav_item( 'forums' );
    		bp_core_remove_nav_item( 'settings' );
    	}
    	
    }
    add_action( 'bp_setup_nav', 'bpfr_hide_tabs', 15 );
    

    I’ve noticed some changes require us to repeat ourselves, while others allow us to list changes within one line of code. Haven’t deciphered this anomaly just yet.

    #258232
    Fantacular Designs
    Participant

    I placed the following code in the bp-custom.php which was found under the wp-content -> plugins.

    function bpfr_hide_tabs() {
    global $bp;
    
    	if ( bp_is_user() && !is_super_admin() ) {
    		bp_core_remove_nav_item( 'notifications', 'activity', 'groups', 'messages', 'forums', 'settings');
    	}
    	
    }
    add_action( 'bp_setup_nav', 'bpfr_hide_tabs', 15 );
    

    It breaks my site, shuts it down. From what I’ve read, I am supposed to specify what tab is open when opening a profile. Otherwise, browsers don’t know what to display since default is “Activity” and I’m removing it… Can someone please tell me where I went wrong? I appreciate the help!

    #258094

    In reply to: New Privacy Plugin

    danbp
    Participant

    hi @fencer04,

    thank for sharing your work. Well done, but it needs some revision (sorry).
    At his activation on 2 test sites (one with 4.5.3/bp 2.6.1, other 4.6/bp2.6.2) i got a notice.
    Array to string conversion in buddypress/bp-core/classes/class-bp-core-nav.php on line 279from

    sbpp04_privacy_check( )	..\plugin.php:525
    sbpp04_privacy_redirect( )	..\buddypress-profile-privacy.php:176
    bp_core_remove_nav_item( )	..\buddypress-profile-privacy.php:184
    BP_Core_Nav->delete_nav( )	..\bp-core-buddybar.php:798

    Another point concerning UI/UX is the Private button appearing on buddybar.
    On this tab, a default message says Friends Only.
    USERNAME has chosen to limit profile access to friends only.
    That’s wrong! Because this appear on each profile, even if the owner hasn’t setup anything about his profile privacy.

    So far i understand its fonctionality, this plugin let each member decide to show or not his whole profile page to friends or members only or to everyone (bp default).

    – imo this tab should show “This profile is private” to anybody who is concerned by a privacy setting and should not appear at all if “Everyone” is set.
    – the original BP Add as friend button on profile header or members directory is still there. This means that there is no need to go on Private tab to ask forfriendship.
    This is a little confusing !

    If the plugin is to extend profile settings, it should appear in profile settings only. And as it doesn’t superseed BP, there is no real reason to give him an extra tab on buddybar outside of the settings scope. A template notice could be enough to tell visitors what’s going on on such a profile.

    Just my 2 cents.

    #257327
    danbp
    Participant

    Hi,

    two snippets to remove profile and group items.

    function bpex_hide_profile_menu_tabs() {
    
    	if( bp_is_active( 'xprofile' ) ) :
    
    	if ( bp_is_user() && !is_super_admin() && !bp_is_my_profile() ) {
    	//	BP's profile main menu items. Comment those to show.
    	//	bp_core_remove_nav_item( 'activity' );
    		bp_core_remove_nav_item( 'profile' );
    		bp_core_remove_nav_item( 'friends' );
    		bp_core_remove_nav_item( 'groups' );
    	//	exist only if you use bbPress
    		bp_core_remove_nav_item( 'forums' ); 
    
    	//	BP's profile main menu items. Comment those to show.
    	//	bp_core_remove_subnav_item( 'activity', 'personnal' );
    		bp_core_remove_subnav_item( 'activity', 'mentions' );
    		bp_core_remove_subnav_item( 'activity', 'favorites' );
    		bp_core_remove_subnav_item( 'activity', 'friends' );
    		bp_core_remove_subnav_item( 'activity', 'groups' );
    	}
    	endif; 
    }
    add_action( 'bp_setup_nav', 'bpex_hide_profile_menu_tabs', 15 );
    
    function bpex_remove_group_tabs() {  
    
    	if ( ! bp_is_group() ) {
    		return;
    	}
    
    	$slug = bp_get_current_group_slug();
    
    		// hide items to all users except site admin
    	if ( !is_super_admin() ) {
    
    	//	bp_core_remove_subnav_item( $slug, 'members' );
    		bp_core_remove_subnav_item( $slug, 'send-invites' );
    	//	bp_core_remove_subnav_item( $slug, 'admin' );
    	//	bp_core_remove_subnav_item( $slug, 'forum' );
    	}
    
    }
    add_action( 'bp_actions', 'bpex_remove_group_tabs' );
    #256411
    danbp
    Participant

    Add this snippet to bp-custom.php and give it a try.

    function bpex_hide_profile_menu_tabs() {
    
    	if( bp_is_active( 'xprofile' ) ) :
    
    	if ( bp_is_user() && !is_super_admin() && !bp_is_my_profile() ) {
    	//	BP's profile main menu items. Comment those to show.
    	//	bp_core_remove_nav_item( 'activity' );
    		bp_core_remove_nav_item( 'profile' );
    		bp_core_remove_nav_item( 'friends' );
    		bp_core_remove_nav_item( 'groups' );
    	//	exist only if you use bbPress
    		bp_core_remove_nav_item( 'forums' ); 
    
    	//	BP's profile main menu items. Comment those to show.
    	//	bp_core_remove_subnav_item( 'activity', 'personnal' );
    		bp_core_remove_subnav_item( 'activity', 'mentions' );
    		bp_core_remove_subnav_item( 'activity', 'favorites' );
    		bp_core_remove_subnav_item( 'activity', 'friends' );
    		bp_core_remove_subnav_item( 'activity', 'groups' );
    	}
    	endif;
    }
    add_action( 'bp_setup_nav', 'bpex_hide_profile_menu_tabs', 15 );
    #256031
    javierllinas
    Participant

    Hello,

    Working perfect for subnav items, but not for main nav in my case. Can’t get this to work:

    function my_remove_group_tab() {
    
        bp_core_remove_nav_item( 'send-invites', 'groups' );
    
    }
    add_action( 'bp_actions', 'my_remove_group_tab', 9 ); 

    I don’t now what I’m missing here.

    Appreciate any help.

    #255297
    javierllinas
    Participant

    Thanks, @danbp!

    You are right: only the fallback was working bp_core_redirect( bp_get_group_permalink( groups_get_current_group() ) );.
    Adding the $component (which defaults to ‘members’) is the key:

    bp_core_remove_subnav_item( $parent_nav_slug, $tab, 'groups' );

    These functions are located in ‘bp-core/bp-core-buddybar.php’.
    I’d also want to get rid of ‘send-invites’ in group primary navigation, but this is not working for me:

    bp_core_remove_nav_item( 'send-invites', 'groups' );

    Thank you,
    Javier

    #255125
    sharmavishal
    Participant

    try this and let me know if it works in bp 2.6 for u or not

    function my_remove_em_nav() {
    	global $bp;
          bp_core_remove_nav_item( 'events' );
          bp_core_remove_subnav_item( 'settings', 'profile' );
    
    }
    add_action( 'bp_init', 'my_remove_em_nav' );
    #254694
    danbp
    Participant

    @bryanbatcher,

    you can use a function within bp-custom.php
    Something like:

    function bpfr_remove_nav_tabs() {
    
    	bp_core_remove_nav_item( 'messages' ); 
       // and so on for each item you want to remove
    
    }
    add_action( 'bp_setup_nav', 'bpfr_remove_nav_tabs', 15 );

    References
    nav-item
    http://hookr.io/plugins/buddypress/2.4.3/functions/bp_core_remove_nav_item/
    sub-nav-item

    bp_core_remove_subnav_item

    For the header thing, see template file and made your modification from within a child-theme.
    – profile pic and username: bp-templates/bp-legacy/buddypress/members/single/member-header.php
    – cover image: bp-templates/bp-legacy/buddypress/members/single/profile.php

    danbp
    Participant

    Give this a try: (add to bp-custom.php) 1) & 2):

    function bpfr_hide_tabs() {
    global $bp;
    
    	if ( bp_is_user() && !is_super_admin() ) {
    		bp_core_remove_nav_item( 'notifications' );
    		bp_core_remove_subnav_item( 'messages', 'compose' );
    	}
    	
    }
    add_action( 'bp_setup_nav', 'bpfr_hide_tabs', 15 );

    3) With BP and xprofile component activated, a user doesn’t need access to WP dashboard. He can change his profile credentials from front-end.
    Easiest way would be to use this plugin.

    Retrieving them the possibility to change their email is anyway not a good idea. What happen when a user changed from yahoo to gmail, but can’t login because he lost his password ? Where will the new pwd be sent ?

    Perhaps you have also to remove this from the BP usermenu on toolbar ?
    Here’s how you can do it:

    function admin_bar_remove_this(){
    global $wp_admin_bar;
    	$wp_admin_bar->remove_node('my-account-messages-compose');
    }
    add_action('wp_before_admin_bar_render','admin_bar_remove_this');
    #251893
    giilour
    Participant

    I want to be able to remove the “view” link in nav menu for subscribers or get rid of all menu items for subscribers.

    I have been able to get rid of some of the menu items with

    function bpview_hide_top_nav() {
    if( bp_is_active(‘xprofile’ ) )
    if( bp_loggedin_user_id() == bp_displayed_user_id() ) {
    bp_core_remove_nav_item( ‘profile’ );
    bp_core_remove_nav_item( ‘view’ );
    }
    }
    add_action( ‘bp_ready’, ‘bpview_hide_top_nav’ );

    #247637
    shanebp
    Moderator

    For standard BP profile tabs, try:

    function zhubr_remove_profile_nav_item( $nav ) { 
    	
        if ( ! bp_is_my_profile() )
    	$nav = '';
    		
        return $nav;
    }
    add_filter('bp_get_displayed_user_nav_notifications', 'zhubr_remove_profile_nav_item', 20, 1 );
    add_filter('bp_get_displayed_user_nav_groups', 'zhubr_remove_profile_nav_item', 20, 1 );
    // add additional calls for other tabs

    To remove custom tabs, try:

    function zhubr_remove_custom_profile_tab() {
    	
        if ( bp_is_user() && ! bp_is_my_profile() )
    	bp_core_remove_nav_item( 'events' );
    	
    }
    add_action( 'bp_ready', 'zhubr_remove_custom_profile_tab', 25 );
    #246529
    danbp
    Participant

    Try

    function bpfr_hide_tabs() {
    global $bp;
    	 /**
    	 * class_exists() & bp_is_active are recommanded to avoid problems during updates 
    	 * or when Component is deactivated
    	 */
    
    	if( class_exists( 'bbPress' ) || bp_is_active ( 'groups' ) ) :
    
    	if ( bp_is_user() && !is_super_admin() && !bp_is_my_profile() ) {
    		bp_core_remove_nav_item( 'groups' );
    		bp_core_remove_nav_item( 'forums' );
    		bp_core_remove_subnav_item( 'activity', 'groups' );
    	}
    	endif;
    }
    add_action( 'bp_setup_nav', 'bpfr_hide_tabs', 15 );
    #246528
    danbp
    Participant

    @paragbhagwat,

    try this:

    function bpfr_hide_tabs() {
    global $bp;
    	 /**
    	 * class_exists() & bp_is_active are recommanded to avoid problems during updates 
    	 * or when Component is deactivated
    	 */
    
    	if( class_exists( 'bbPress' ) || bp_is_active ( 'groups' ) ) :
    
    	if ( bp_is_user() && !is_super_admin() && !bp_is_my_profile() ) {
    		bp_core_remove_nav_item( 'groups' );
    		bp_core_remove_nav_item( 'forums' );
    		bp_core_remove_subnav_item( 'activity', 'groups' );
    	}
    	endif;
    }
    add_action( 'bp_setup_nav', 'bpfr_hide_tabs', 15 );
    #246070
    pnet
    Participant

    This sounds like what I am trying to do.

    I have a role “Partners” and the following function

    function remove_nav_items() {
        bp_core_remove_nav_item( 'notifications' );
        bp_core_remove_nav_item( 'groups' );
        bp_core_remove_nav_item( 'forums' );
        bp_core_remove_nav_item( 'activity' );
    
    }
    add_action( 'bp_setup_nav', 'remove_nav_items');

    How can I make an “if” statement with this function?
    example: if role= ‘partners’ do remove_nav_items()

    I am having trouble figuring out how to get the user role of a logged in user.

    #244298
    danbp
    Participant

    @tafmakura,

    try

    function bpfr_hide_top_nav() {	
    if( bp_is_active('xprofile' ) )	
    	bp_core_remove_nav_item( 'profile' );
    }
    add_action( 'bp_ready', 'bpfr_hide_top_nav' );
    #243131
    Prabin
    Participant
    function remove_bp_tab() {
    global $bp;
    bp_core_remove_nav_item( 'activity' );
    
    }
    add_action( 'bp_setup_nav', 'remove_bp_tab', 999 );

    You can use this, this will remove your activity tab from member profile

    #243006

    In reply to: hide bp sub nav name.

    danbp
    Participant

    you apply a condition to bp_core_remove_subnav_item function.

    2 function to do that.
    1) define the condition
    2) remove the nav/subnav item

    
    function bpfr_hide_nav() {
    	$retval = false;
    	
    	if ( bp_is_user() && ! bp_is_my_profile() ) {
    		$retval = true;
    	}	
    	return $retval;
    }
    
    function bpfr_hide_profile_nav() {
    	
    	// stop if condition is not filed
    	if ( ! bpfr_hide_nav() ) {
    		return;
    	}
    	bp_core_remove_nav_item( 'friends' ); // bp topnav
    	bp_core_remove_subnav_item( 'activity', 'friends' ); //bp subnav (my activities, my groups, etc)
    }
    add_action( 'bp_ready', 'bpfr_hide_profile_nav' );

    Add this to bp-custom.php

    #243001
    bruce7075
    Participant

    Yes, I have read codex abot bp-custom. I also have added php tag as below.

    <?php
    // hide friendship activity stream sitewide
    function bpfr_maybe_hide_friends_nav_etc() {
        $retval = false;
       
        if ( bp_is_user() && ! bp_is_my_profile() && ! friends_check_friendship( bp_displayed_user_id(), bp_loggedin_user_id() ) ) {
            $retval = true;
        }
       
        return $retval;
    }
    
    function bpfr_hide_friends_nav_to_non_friends() {
       
        // Stop if condition is not filed
        if ( ! bpfr_maybe_hide_friends_nav_etc() ) {
            return;
        }
        // otherwise, we remove the nav
        bp_core_remove_nav_item( 'friends' ); // bp topnav
        bp_core_remove_subnav_item( 'activity', 'friends' ); //bp subnav (my activities, my groups, etc)
    }
    add_action( 'bp_ready', 'bpfr_hide_friends_nav_to_non_friends' );
    
    // we want also to remove all friends related activities to non friends
    function bpfr_hide_friends_activity_type_to_non_friends( $activity_action = array(), $component_id = '' ) {
       
        // if condition is not filed we go back to original output
        if ( 'friends' != $component_id || ! bpfr_maybe_hide_friends_nav_etc() ) {
            return $activity_action;
        }
       
        // otherwise, we remove member from context
        $activity_action['context'] = array_diff( $activity_action['context'], array( 'member' ) );
       
        return $activity_action;
    }
    add_filter( 'bp_activity_set_action', 'bpfr_hide_friends_activity_type_to_non_friends', 10, 2 );
    ?>
    #242978
    danbp
    Participant

    @bruce7075,

    here a complete solution you can use for friends privacy.

    – Whe’re going to show the friends menu only to… friends !
    – We remove friends activity.

    Copy this to bp-custom.php

    function bpfr_maybe_hide_friends_nav_etc() {
    	$retval = false;
    	
    	if ( bp_is_user() && ! bp_is_my_profile() && ! friends_check_friendship( bp_displayed_user_id(), bp_loggedin_user_id() ) ) {
    		$retval = true;
    	}
    	
    	return $retval;
    }
    
    function bpfr_hide_friends_nav_to_non_friends() {
    	
    	// Stop if condition is not filed
    	if ( ! bpfr_maybe_hide_friends_nav_etc() ) {
    		return;
    	}
    	// otherwise, we remove the nav
    	bp_core_remove_nav_item( 'friends' ); // bp topnav
    	bp_core_remove_subnav_item( 'activity', 'friends' ); //bp subnav (my activities, my groups, etc)
    }
    add_action( 'bp_ready', 'bpfr_hide_friends_nav_to_non_friends' );
    
    // we want also to remove all friends related activities to non friends
    function bpfr_hide_friends_activity_type_to_non_friends( $activity_action = array(), $component_id = '' ) {
    	
    	// if condition is not filed we go back to original output
    	if ( 'friends' != $component_id || ! bpfr_maybe_hide_friends_nav_etc() ) {
    		return $activity_action;
    	}
    	
    	// otherwise, we remove member from context
    	$activity_action['context'] = array_diff( $activity_action['context'], array( 'member' ) );
    	
    	return $activity_action;
    }
    add_filter( 'bp_activity_set_action', 'bpfr_hide_friends_activity_type_to_non_friends', 10, 2 );

    Related topic (other solution, or strict answer to your question) 😉
    https://buddypress.org/support/topic/documentation-for-remove_action-activity-streams/#post-242974

    #241429
    danbp
    Participant
    function bpfr_remove_change_avatar_tab() {
    global $bp;
    	bp_core_remove_subnav_item( 'profile', 'change-avatar' );
    
    }
    add_action( 'bp_ready', 'bpfr_remove_change_avatar_tab', 15 );

    BuddyBar items

    Source: bp-core-buddybar.php
    function bp_core_remove_subnav_item( $parent_id, $slug )
    and to remove a nav item
    function bp_core_remove_nav_item( $parent_id )

    Dono12
    Participant

    I need some help. I’ve decided to remove the the messages->starred from BBP Activity and the Admin bar links.
    I’ve tried a lot of functions and none of them seem to be working.

    four examples:

    1. $bp->bp_nav[‘starred’] = false;

    2. function remove_nav_items() {
    bp_core_remove_nav_item( ‘starred’ );
    }
    add_action( ‘bp_setup_nav’, ‘remove_nav_items’);
    // ——- End Removes Forum link Activity feed ————- //

    // ——- Removes member link forum AdminBar ————- //

    3. $wp_admin_bar->remove_menu(‘starred’);

    4. function the_bp_admin_bar_remove() {
    global $wp_admin_bar;
    $wp_admin_bar->remove_menu( ‘my-account-starred’ );
    }
    add_action( ‘bp_setup_admin_bar’, ‘the_bp_admin_bar_remove’, 301 );

    I’ve done so successfully using CSS but I would like to use the functions instead. Can you please help?

    li#starred-personal-li{
    display:none;
    }
    li#wp-admin-bar-my-account-messages-starred{
    display:none;
    }

    #237813
    shanebp
    Moderator

    Please do not double post.

    try this:

    function urbanfix_remove_nav_item() {
    
       if( current_user_cannot("access_s2member_level2") )
           bp_core_remove_nav_item('listings');
    }
    add_action( 'wp', 'urbanfix_remove_nav_item' );
Viewing 25 results - 51 through 75 (of 130 total)
Skip to toolbar