はじめに
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)を利用する場合に便利。
コメント