Remove Categories / Tags From Admin Menu

I want to remove or hide Categories / Tags submenu under Posts in the Admin Menu. I know this works with the themes submenus:

remove_submenu_page( 'themes.php', 'widgets.php' );

Read More

The same doesn’t seem to work for posts unfortunately:

remove_submenu_page( 'edit.php', 'edit-tags.php' );

I’m using the admin_menu action: add_action( 'admin_menu', 'function_call' )

Do I need to add something else?

Related posts

5 comments

  1. add_action('admin_menu', 'my_remove_sub_menus');
    
    function my_remove_sub_menus() {
        remove_submenu_page('edit.php', 'edit-tags.php?taxonomy=category');
        remove_submenu_page('edit.php', 'edit-tags.php?taxonomy=post_tag');
    }
    
  2. If you want to completely remove categories and tags you can do so like this:

    // Remove Categories and Tags
    add_action('init', 'myprefix_remove_tax');
    function myprefix_remove_tax() {
        register_taxonomy('category', array());
        register_taxonomy('post_tag', array());
    }
    
  3. You may also want to remove the meta boxes from the Post Creation page

    // REMOVE POST META BOXES
    function remove_my_post_metaboxes() {
      remove_meta_box( 'categorydiv','post','normal' ); // Categories Metabox
      remove_meta_box( 'tagsdiv-post_tag','post','normal' ); // Tags Metabox
    }
    add_action('admin_menu','remove_my_post_metaboxes');
    
  4. Thanks to @mbacon40 and to @gmazzap I was able to use this to remove Product Tags and Categories (product_tag and product_cat) from my menu and from the product add/edit pages.

    // Remove Categories and Tags
    add_action('init', 'myprefix_remove_tax');
    function myprefix_remove_tax() {
        register_taxonomy('product_cat', array());
        register_taxonomy('product_tag', array());
    }
    
    add_action('admin_menu', 'my_remove_sub_menus');
    function my_remove_sub_menus() {
        remove_submenu_page('edit.php', 'edit-tags.php?    taxonomy=product_cat&post_type=product');
        remove_submenu_page('edit.php', 'edit-tags.php?    taxonomy=product_tag&post_type=product');
    }
    
  5. for some reason the edit.php does not work at my setup 5.3

    This however works

    remove_submenu_page( 'edit-tags.php?taxonomy=category', 'edit-tags.php?taxonomy=post_tag' );
    remove_submenu_page( 'edit-tags.php?taxonomy=category', 'edit-tags.php?taxonomy=category' );
    

Comments are closed.