WordPress管理画面の投稿一覧に「タグ」と「投稿者」での絞り込み機能を追加するカスタマイズ方法

WordPress管理画面の投稿一覧には以下のような投稿の絞り込み機能があります。

管理画面投稿一覧

デフォルト状態だと、以下のように日付やカテゴリー一覧で投稿を「絞り込み検索」することができます。

デフォルト状態だと日付やカテゴリ一覧で絞込みができる

今回は、Wordpress管理画面の投稿一覧に「日付」「カテゴリー」に加えて、「タグ」と「投稿者」の絞り込み機能を追加するカスタマイズです。

カスタマイズを行うと管理画面の投稿一覧上に以下のような機能が追加されるようになります。

投稿一覧の絞り込みにタグと投稿者を追加

「タグ重視で投稿管理」する場合や「投稿者の多いブログメディア」向けのカスタマイズかと思います。

スポンサーリンク
レクタングル(大)広告

主な手順

今回のカスタマイズに必要な主な手順は以下です。

  • functions.phpにコードを追加する

コード内容などを気にせずに機能さえ実装できれば良い場合は、functions.phpへのコピペ一発で機能追加することができるので比較的簡単かと思います。

functions.phpにコードを追加する

今回のカスタマイズを実装するには、functions.phpに以下のコードを貼り付けるだけです。

//投稿一覧リストの上にタグフィルターと管理者フィルターを追加する
function custmuize_restrict_manage_posts_exsample(){
  global $post_type, $tag;
  if ( is_object_in_taxonomy( $post_type, 'post_tag' ) ) {
    $dropdown_options = array(
      'show_option_all' => get_taxonomy( 'post_tag' )->labels->all_items,
      'hide_empty' => 0,
      'hierarchical' => 1,
      'show_count' => 0,
      'orderby' => 'name',
      'selected' => $tag,
      'name' => 'tag',
      'taxonomy' => 'post_tag',
      'value_field' => 'slug'
    );
    wp_dropdown_categories( $dropdown_options );
  }

  wp_dropdown_users(
    array(
      'show_option_all' => 'すべてのユーザー',
      'name' => 'author'
    )
  );
}
add_action('restrict_manage_posts', 'custmuize_restrict_manage_posts_exsample');

//投稿一覧で「全てのタグ」選択時は$_GET['tag']をセットしない
function custmuize_load_edit_php_exsample(){
  if (isset($_GET['tag']) && '0' === $_GET['tag']) {
    unset ($_GET['tag']);
  }
}
add_action('load-edit.php', 'custmuize_load_edit_php_exsample');

コードは、フォーラムにてTechNoteさんに教えていただいたものを使わせていただきました。

タグなどをドロップダウンリストでなくて、テキストボックスに入力した文字列で絞り込みをする場合は、以下の方法などが参考になるかと思います。

参考 WordPressの投稿一覧でタグのフィルタリングを追加する | Simple Colors

動作確認

functions.phpにコードを追加したらWordpress管理画面の投稿一覧に移動して、機能がちゃんと表示されているか動作確認を行います。

タグや投稿者絞り込み機能の追加

例えば、以下のようにタグや投稿者名を選択して「絞り込み検索」ボタンを押します。

タグや投稿者を指定して絞り込み検索

すると、「タグ」と「投稿者(ユーザー)」で指定した投稿のみが表示されます。

タグと投稿者で抽出された状態

まとめ

こんな感じで、Wordpress管理画面の絞り込み機能に手軽に「タグ」と「投稿者」で抽出できる機能を追加することができます。

基本的にはデフォルトの「日付」と「カテゴリー」のみの抽出でも十分かもしれません。

けれど、「カテゴリーがメインではなく、タグで投稿管理している」なんて場合や、「多くの投稿者がいるメディアブログなどを運営している」なんて場合は、管理画面上での過去記事探しが多少はかどるかもしれません。

この機能は、v2.3.8以降のSimplicityに実装されるので新しいバージョンを利用する場合はカスタマイズ不要です。