勉強したことのメモ.

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

  関連記事

Advanced Custom Fieldsでセレクトメニューを動的に生成する方法
Advanced Custom Fieldsでセレクトメニューを動的に生成する方法

WordPressでカスタムフィールド設定用のプラグインAdvanced Cus ...

WordPressでオリジナルのプラグインを作成する方法
WordPressでオリジナルのプラグインを作成する方法

WordPressでオリジナルのプラグインを作成する方法を以下にメモ。 &nbs ...

WordPressでサイト及びサーバ内ファイルが改ざんされた際の対処方法
WordPressでサイト及びサーバ内ファイルが改ざんされた際の対処方法

WordPressで立ち上げたサイトがあり、しばらく放置していたが久しぶりにチェ ...

WordPressで固定ページに記事一覧を表示させるプラグイン
WordPressで固定ページに記事一覧を表示させるプラグイン

WordPressで固定ページ編集時にショートコードを書くことで、記事一覧を表示 ...

WordPressのContact Form 7から送信した内容をダッシュボードから確認及びCSVファイル化する方法
WordPressのContact Form 7から送信した内容をダッシュボードから確認及びCSVファイル化する方法

WordPressのContact Form 7プラグインで実装されたお問い合わ ...