Удаление категорий / тегов из меню администратора
Я хочу удалить или скрыть подменю Категории / Теги под пунктом Записи в меню администратора. Я знаю, что это работает с подменю тем:
remove_submenu_page( 'themes.php', 'widgets.php' );
К сожалению, то же самое не работает для записей:
remove_submenu_page( 'edit.php', 'edit-tags.php' );
Я использую хук admin_menu: add_action( 'admin_menu', 'function_call' )
Нужно ли мне добавить что-то еще?

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');
}

Я не вижу, чтобы это скрывало области тегов и категорий в разделе Быстрого редактирования, но remove_meta_box
работает так, как описано.

Это не предпочтительный метод, это похоже на удаление с помощью CSS и не гарантирует результата. Посмотрите ответ mbacon40, он выглядит многообещающе.

@jnhghy-JanteaAlexandru remove_submenu_page
не использует CSS для удаления подменю, он удаляет запись из глобального массива меню (см. исходный код), поэтому HTML-разметка для меню вообще не рендерится (а не скрывается через CSS). Однако верно, что в некоторых случаях это может не помешать пользователям получить доступ к экрану удаленного подменю напрямую (см. тикет #18850), но автор вопроса просил удалить меню, и это правильный способ.

@gmazzap Я проводил сравнение. Удаление таким способом не гарантирует, что термины таксономии не будут добавлены другими способами (например, через фронтенд). Я хотел указать, что это удаляет только пункт меню, но не разрывает связь типа записи с таксономией. :)

Если вы хотите полностью удалить рубрики и метки, вы можете сделать это следующим образом:
// Удаление рубрик и меток
add_action('init', 'myprefix_remove_tax');
function myprefix_remove_tax() {
register_taxonomy('category', array());
register_taxonomy('post_tag', array());
}

Вы также можете удалить метабоксы со страницы создания записей
// УДАЛЕНИЕ МЕТАБОКСОВ ЗАПИСИ
function remove_my_post_metaboxes() {
remove_meta_box( 'categorydiv','post','normal' ); // Метабокс категорий
remove_meta_box( 'tagsdiv-post_tag','post','normal' ); // Метабокс меток
}
add_action('admin_menu','remove_my_post_metaboxes');

Благодаря @mbacon40 и @gmazzap мне удалось использовать этот код для удаления меток и категорий товаров (product_tag и product_cat) из моего меню и со страниц добавления/редактирования товаров.
// Удаление категорий и меток
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');
}

по какой-то причине edit.php не работает в моей версии 5.3
Однако это работает:
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' );
