0

I have managed successfully to remove the not needed menu items for user role 'editor'. Now I have one item left on the top bar that makes Editor add new post page and other items which I need to hide. Please check the screen shot as I indicate what item is this. There is a link of this page displayed and I tried but it does not want to go away.

How to remove top menu item - admin backend wp

I have used the code:

/** remove editor dashboard menu */ define( 'DISALLOW_FILE_EDIT', true);

function remove_menus(){

remove_menu_page( 'upload.php' ); //Media
remove_menu_page( 'edit.php?post_type=page' ); //Pages
remove_menu_page( 'themes.php' ); //Appearance
remove_menu_page( 'post.php' ); //Remove +New
remove_menu_page( 'post-new.php' ); //Remove +New 
remove_submenu_page( 'post-new.php' ); //Edit Page
remove_menu_page( 'edit.php?post_type=client' ); //Clients
remove_menu_page( 'edit.php?post_type=offer' ); //Offers
remove_menu_page( 'edit.php?post_type=portfolio' ); //Portfolio
remove_menu_page( 'edit.php?post_type=slide' ); //Slides
remove_menu_page( 'edit.php?post_type=testimonial' ); //Testimonials
remove_menu_page( 'edit.php?post_type=layout' ); //Layouts
remove_menu_page( 'edit.php?post_type=template' ); //Templates
remove_menu_page( 'wpcf7' ); //Contacts
remove_menu_page( 'tools.php' ); //Tools
remove_menu_page( 'vc-welcome' ); //Visual Composer
remove_menu_page( 'options-general.php' ); //Settings remove_menu_page( 
'wpcf7' ); //contact form

} if(current_user_can( 'editor' )){ add_action( 'admin_menu', 'remove_menus' ); }

So I tried to use:

remove_menu_page( 'post-new.php' ); //Remove +New 
remove_submenu_page( 'post-new.php' ); //Edit Page

but it does not work. How could I remove this menu item with all its submenus?

1 Answer 1

1

Use this example

function my_admin_bar_render() {
    $user = wp_get_current_user();

    if ( in_array( 'editor', (array) $user->roles ) ) {
        global $wp_admin_bar;
        $wp_admin_bar->remove_menu('new-content');
    }
}
add_action( 'wp_before_admin_bar_render', 'my_admin_bar_render' );
3
  • It works :) thanks
    – Jessica217
    Commented Jan 31, 2020 at 13:35
  • I have just realized that your solution removes that top menu item for all users.Is there a way to remove that only for 'Editor' or 'Shop manager" ?
    – Jessica217
    Commented Feb 3, 2020 at 6:43
  • See updated example. Add additional checks as you need. Or even better - inverse logic, remove menu item if user doesn't have administrator role. Commented Feb 3, 2020 at 9:35

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.