[buddypress-trac] [BuddyPress] #3419: bp_core_remove_nav_item() support WP admin bar as well?

buddypress-trac at lists.automattic.com buddypress-trac at lists.automattic.com
Thu Aug 18 08:51:47 UTC 2011


#3419: bp_core_remove_nav_item() support WP admin bar as well?
-------------------------+-----------------------
 Reporter:  r-a-y        |       Owner:
     Type:  enhancement  |      Status:  reopened
 Priority:  normal       |   Milestone:  1.5.1
Component:  Core         |     Version:  1.5
 Severity:  normal       |  Resolution:
 Keywords:  needs-patch  |
-------------------------+-----------------------

Comment (by r-a-y):

 What I believed to be "quite simple" turned out to be a complete headache
 ;)

 Not as simple as I thought.

 At the end of bp_core_remove_subnav_item(), I had something like this:

 {{{
         if ( bp_use_wp_admin_bar() ) {
                 $bp->temp_slug = $slug;
                 add_action( 'wp_before_admin_bar_render', create_function(
 '', 'global $bp, $wp_admin_bar; $wp_admin_bar->remove_menu( $bp->temp_slug
 );' ) );
         }
 }}}

 Which works for the very first instance you use
 bp_core_remove_subnav_item(), but if you use the function more than once,
 it will use the last instance of it because $bp->temp_slug is overriden
 each time and because the WP Admin Bar is only rendered at the very end of
 the page.

 Hopefully this gives you superior beings some fodder!

 ---

 Might be easier to tell plugin devs to just use WP's built-in functions
 for the adminbar:

 eg.

 {{{
 function ray_remove_mentions_subnav_item() {
         global $wp_admin_bar;
         $wp_admin_bar->remove_menu( 'mentions' );
 }
 add_action( 'wp_before_admin_bar_render',
 'ray_remove_mentions_subnav_item' );
 }}}

-- 
Ticket URL: <https://buddypress.trac.wordpress.org/ticket/3419#comment:5>
BuddyPress <http://buddypress.org/>
BuddyPress


More information about the buddypress-trac mailing list