管理画面でカスタム投稿タイプのサブメニューカテゴリを非表示にする方法

- WordPress -
2019.11.28
WordPress

この記事は、以下2つとも当てはまる方に役立てばと思いメモを残します。

  1. カスタム投稿タイプで、デフォルトで存在するタクソノミー「カテゴリー (WP コア)」を利用している
  2. カスタム投稿記事編集画面ではカテゴリーを選択できて良いが、管理画面左サブメニューでは非表示にしたい

たとえば「商品」というカスタム投稿タイプがあり「カテゴリー」が表示されていますが、

カスタム投稿タイプのサブメニュー非表示

↓このように非表示にしたい、ということです。

結論だけ先に書くと、function.phpへ以下のように書けばカスタム投稿タイプのサブメニューに表示される「カテゴリー」が非表示となります。

// 管理画面の商品のカテゴリサブメニュー非表示
function remove_product_category_submenu() {
    remove_submenu_page( 'edit.php?post_type=product', 'edit-tags.php?taxonomy=category&post_type=product' );
}
add_action( 'admin_menu', 'remove_product_category_submenu' );

"product"とある部分をご自分の環境へ置き換えてください。

間違えやすいのは、remove_submenu_page関数の第2引数の以下部分。僕はここになかなか気付くことができず...。

〇  'edit-tags.php?taxonomy=category&post_type=product'

×  'edit-tags.php?taxonomy=category&post_type=product'

参考:Remove admin menu for custom taxonomy attached to custom post type

↑TOP