WordPress│管理画面でカスタムタクソノミーの絞り込み表示機能を追加する

areaというカスタムタクソノミーを投稿記事に紐づけたとします。

それを表示するのはCustom Post Type UIのプラグインでもできますが、絞り込みは設定できません。

そこで絞り込みできるようにカスタマイズしてみました。

目次

著者

WEB制作をしているデジタルノマド
WordPressのカスタマイズが好きで、色々と自作しています。

WordPressのカスタマイズに困ったらご相談ください!

WordPressの管理画面でカスタムタクソノミーの絞り込み表示機能を追加する

やり方は簡単です。

fucntions.phpの下記のコードを追加しましょう。

エラーが怖い人はCode Snippetsのプラグインを入れて、そこからコードを挿入しましょう。

function add_taxonomy_filter() {
    global $post_type;

    // 投稿タイプが 'post' の場合
    if ( 'post' == $post_type ) {
        $taxonomy = 'area'; // カスタムタクソノミーのスラッグ

        // カスタムタクソノミーのタームを取得
        $terms = get_terms(array(
            'taxonomy'   => $taxonomy,
            'hide_empty' => false, // 空のタームも表示
        ));

        // ドロップダウンを表示
        ?>
        <select name="<?php echo esc_attr($taxonomy); ?>">
            <option value=""><?php echo esc_html__('すべての地域', 'textdomain'); ?></option>
            <?php
            if ( ! empty( $terms ) && ! is_wp_error( $terms ) ) {
                foreach ( $terms as $term ) {
                    printf(
                        '<option value="%s" %s>%s</option>',
                        esc_attr( $term->slug ),
                        ( isset($_GET[$taxonomy]) && $_GET[$taxonomy] === $term->slug ) ? 'selected="selected"' : '',
                        esc_html( $term->name )
                    );
                }
            }
            ?>
        </select>
        <?php
    }
}
add_action( 'restrict_manage_posts', 'add_taxonomy_filter' );

あとは確認してみましょう。

以上です。

  • URLをコピーしました!

WAZAの有料記事のサブスクリプションも開始しました。

サービス

Service

WordPressサイトのカスタマイズのサービスに関心がありましたら、ぜひ詳細をご覧ください。

目次