WordPressの不要なタクソノミーメタボックスを非表示にする方法

はじめに

WordPressの投稿編集画面では、デフォルトでカテゴリやタグなどのタクソノミーメタボックスが表示されます。しかし、Advanced Custom Fields(ACF)を使用してカスタムフィールドでタクソノミーを管理する場合、デフォルトのメタボックスは不要になることがあります。

そこで、本記事では WordPressの管理画面で特定のタクソノミーメタボックスを非表示にする方法 を解説します。

使用するコード

以下のコードを functions.php に追加することで、指定したカスタム投稿タイプのタクソノミーメタボックスを非表示にできます。

/**
 * WordPress管理画面で特定のタクソノミーメタボックスを非表示にする
 */
function custom_remove_taxonomy_metabox() {
    // 'news' 投稿タイプの 'ニュースカテゴリー' メタボックスを非表示にする
    remove_meta_box('news_catdiv', 'news', 'side');
    
    // 'works' 投稿タイプの '作品カテゴリー' メタボックスを非表示にする
    remove_meta_box('works_catdiv', 'works', 'side');
}

// WordPressの管理メニューがロードされたタイミングで処理を実行
add_action('admin_menu', 'custom_remove_taxonomy_metabox');

コードの解説

remove_meta_box( $id, $screen, $context )

この関数は、管理画面の特定のメタボックスを非表示にするために使用されます。

パラメータ説明
$id非表示にするメタボックスのID(通常は {taxonomy}div の形式)
$screenメタボックスを非表示にする投稿タイプ(例: post, page, news など)
$contextメタボックスが表示されるエリア('side', 'normal', 'advanced' など)

add_action('admin_menu', 'custom_remove_taxonomy_metabox');

  • admin_menu フックを使用して、管理画面のメニューがロードされたタイミングで custom_remove_taxonomy_metabox() を実行。
  • これにより、該当のメタボックスが管理画面から削除されます。

カスタマイズ方法

もし、他のカスタム投稿タイプでもタクソノミーメタボックスを非表示にしたい場合は、同様の remove_meta_box() を追加してください。

例:

remove_meta_box('example_taxdiv', 'example_post_type', 'side');

まとめ

  • remove_meta_box() を使用すると、不要なタクソノミーメタボックスを非表示にできる。
  • add_action('admin_menu', 'custom_remove_taxonomy_metabox'); を適用することで、管理画面のメニューが読み込まれた時に適用できる。
  • Advanced Custom Fields(ACF)を利用する場合に便利。

コメント

タイトルとURLをコピーしました