1

How do I make it so that a menu on the WP Admin menu bar is only visible to specified user roles?

I have this code which works to remove WP Admin menu items from all users. Is there any way to customize it so that only certain user roles can view these menu item? Thank you!

function shapeSpace_remove_toolbar_menu() {
    global $wp_admin_bar;
    $wp_admin_bar->remove_menu('site-name');
}
add_action('wp_before_admin_bar_render', 'shapeSpace_remove_toolbar_menu', 999);
1
  • if ( ! current_user_can('manage_options') ) { $wp_admin_bar->remove_menu( 'site-name' ); } will display the Site name menu item to only the administrator users. Commented Mar 8, 2020 at 4:13

1 Answer 1

1
function shapeSpace_remove_toolbar_menu() {
    global $wp_admin_bar;
    // remove menu for editor and author        
    if( current_user_can( 'editor' ) || current_user_can( 'author' )  ){
         $wp_admin_bar->remove_menu('site-name');
       }
 }
add_action('wp_before_admin_bar_render', 'shapeSpace_remove_toolbar_menu', 999);

All Roles:

current_user_can( 'administrator' )
current_user_can( 'editor' )
current_user_can( 'author' )
current_user_can( 'contributor' )
current_user_can( 'subscriber' )

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.