【WordPress】投稿画面でタグをメニューから非表示にする方法

WordPressの投稿には「カテゴリ」と「タグ」という2種類の分類がありますが、特定のケースでは、管理画面のメニューからタグを非表示にしたい場合があります。この記事では、簡単なコードを使って、投稿のタグを管理メニューから非表示にする方法を紹介します。

使用するコード

以下は、functions.phpに追加することで、投稿のタグを管理画面から非表示にするコードです。

function hide_tag_from_menu() {
    global $wp_taxonomies;
    foreach ( $wp_taxonomies['post_tag']->object_type as $i => $object_type ) {
        if ( $object_type == 'post' ) {
            unset( $wp_taxonomies['post_tag']->object_type[$i] );
        }
    }
    return true;
}
add_action( 'init', 'hide_tag_from_menu' );

global $wp_taxonomies
このコードはWordPressのグローバル変数である $wp_taxonomies を使用して、カスタム分類(taxonomy)にアクセスします。

foreachループ
$wp_taxonomies[‘post_tag’]->object_type の中をループして、’post’ というオブジェクトタイプを探します。このオブジェクトタイプが見つかった場合、該当のエントリを unset() で削除します。

add_action()
最後に、init アクションフックを使用して、上記の関数をWordPressに登録します。このフックによって、WordPressが初期化されるタイミングで関数が実行されます。

このコードを functions.php に追加すると、投稿のタグが管理画面のメニューに表示されなくなります。タグ自体は存在し続けますが、投稿の編集画面や投稿リストでのタグフィルタリングなどはできなくなります。

タグを管理メニューから非表示にしたい場合、この簡単な方法で対応できますが、テーマやプラグインに影響を与える可能性があるため、事前にバックアップを取ることをおすすめします。