勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ

WordPressダッシュボードの記事一覧ページにタグ検索機能を追加する方法

  WordPress CMS

WordPressダッシュボードの記事一覧ページは、デフォルトだと「キーワード検索」「日付・カテゴリ絞り込み検索」はあるものの、タグによる絞り込み検索はできない。ここにタグ絞り込み検索機能を追加したい。また、プラグインではなくfunctions.phpで対応したい。以下に対応方法をメモ。

 

対応方法

functions.php

functions.phpに以下を追記する。

//ダッシュボードの記事一覧にタグ検索を追加
function add_posts_search_tag_dashboard(){
    global $post_type;
    if( $post_type == 'post' ){
        wp_dropdown_categories(
            array(
                'show_option_all' => 'タグ一覧', //未検索時のテキスト
                'taxonomy'        => 'post_tag', //対応するタクソノミー
                'name'            => 'tag', //検索のkey
                'value_field'     => 'slug', //検索のvalue
                'selected'        => get_query_var('tag'), //selectedにしておく項目
                'show_count'      => false, //記事数を非表示
                'hide_empty'      => true, //記事が1件も紐づいていない項目を非表示
            )
        );
    }
}
add_action('restrict_manage_posts', 'add_posts_search_tag_dashboard');

//タグ未指定の場合は全検索
function search_all_tag(){
    if( is_admin() && $_GET['tag'] === '0' ){
        unset ($_GET['tag']);
    }
}
add_action('load-edit.php', 'search_all_tag');

補足

今回はデフォルトの記事一覧にタグ検索を追加する想定になるが、カスタム投稿タイプの場合は「$post_type == 'post'」とwp_dropdown_categories内のパラメータを適宜変更する必要あり。

 

リファレンス

restrict_manage_posts

https://developer.wordpress.org/reference/hooks/restrict_manage_posts/

wp_dropdown_categories

https://developer.wordpress.org/reference/functions/wp_dropdown_categories/

load-{$page}

https://developer.wordpress.org/reference/hooks/load-page-php/

 - WordPress CMS

  関連記事

WordPressのユーザー画像とプロフィールの登録及び表示方法
WordPressのユーザー画像とプロフィールの登録及び表示方法

WordPressでユーザー毎に画像とプロフィール部分にHTMLタグを登録したか ...

WordPressのサーバー移行で気付いた点
WordPressのサーバー移行で気付いた点

あるWordPressを置いているサーバーのリソースが苦しくなってきたので、新た ...

PHP8系で「Warning: Attempt to read property
PHP8系で「Warning: Attempt to read property "xxxxxx" 」エラーの対応方法

PHP8系&WordPress6.4.3で「Warning: Attem ...

WordPressで実行されているSQL文をページ上に表示する方法
WordPressで実行されているSQL文をページ上に表示する方法

WordPressにてWP_Queryで記事を取得しようとしたものの希望の挙動に ...

WordPressで複数あるクリック広告をランダムで表示させる方法
WordPressで複数あるクリック広告をランダムで表示させる方法

同じクリック広告をずっと貼っているとクリック単価が下がると聞いた。WordPre ...