WordPress | カスタムタクソノミーの「説明」フィールドを管理画面から非表示にする方法

今回は、WordPressのカスタムタクソノミー demo_tax の追加・編集ページ、そしてターム一覧テーブルから「説明」フィールドを非表示にする方法について紹介します。WordPressのバージョンは6.6.2、PHPのバージョンは8.1.29、サーバーはさくらのスタンダードプランを利用しています。

「説明」フィールドを追加・編集ページから非表示にする

WordPressのカスタムタクソノミーの追加・編集ページには、デフォルトで「説明」フィールドが表示されますが、これを非表示にする方法を見ていきます。以下のコードをテーマの functions.php に追加することで、特定のタクソノミーに対して「説明」フィールドを非表示にすることができます。

/**
 * カスタムタクソノミー demo_tax の
 * 新規と編集ページから「説明」のテキストエリアを非表示にする
 */
function hide_specific_taxonomy_description_css()
{
    $screen = get_current_screen();
    // 特定のタクソノミーに対して非表示にする処理
    if ( $screen->taxonomy == 'demo_tax' ) {
        ?>
        <style>
            .term-description-wrap {
                display: none;
            }
        </style>
        <?php
    }
}
add_action( 'admin_head-term.php', 'hide_specific_taxonomy_description_css' );      // タクソノミー編集ページ用
add_action( 'admin_head-edit-tags.php', 'hide_specific_taxonomy_description_css' ); // タクソノミー追加ページ用

このコードは、管理画面のタクソノミーの追加・編集ページで demo_tax の「説明」フィールド(テキストエリア)をCSSを使って非表示にします。get_current_screen() 関数で現在の画面がタクソノミーの編集ページかどうかを判定し、対象が demo_tax である場合にのみ非表示処理を適用しています。

ターム一覧テーブルから「説明」列を非表示にする

次に、ターム一覧テーブルに表示される「説明」列も非表示にする方法です。ターム一覧は管理画面でタームが一覧表示される部分で、デフォルトでは「名前」「スラッグ」「説明」などの情報が表示されます。この「説明」列を非表示にするために以下のコードを追加します。

/**
 * カスタムタクソノミー demo_tax の
 * ターム一覧テーブルから「説明」列を非表示にする
 */
function remove_description_column_from_taxonomy_list( $columns ) {
    if ( isset( $columns['description'] ) ) {
        unset( $columns['description'] );
    }
    return $columns;
}
add_filter( 'manage_edit-demo_tax_columns', 'remove_description_column_from_taxonomy_list' );

このコードは、manage_edit-demo_tax_columns フィルターフックを使って、カスタムタクソノミー demo_tax の一覧テーブルから「説明」列を非表示にします。具体的には、$columns 配列に格納されている description 要素を unset() 関数で削除しています。

まとめ

上記のコードを使うことで、WordPressのカスタムタクソノミー demo_tax の追加・編集ページとターム一覧テーブルから「説明」フィールドや列を非表示にすることができます。タクソノミーの管理画面をカスタマイズしたい場合にぜひご活用ください。

環境情報

  • WordPress 6.6.2
  • PHP 8.1.29
  • さくらサーバー スタンダードプラン

コメント

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