ZeroPlus Gateについて

\ シェア /

FacBook
Twitter
LINE
はてブ
PPocket
ZeroPlus Media > Web制作 > WordPress > 【WordPress管理画面】投稿一覧をタグと投稿者で絞り込む方法

【WordPress管理画面】投稿一覧をタグと投稿者で絞り込む方法

Web制作

2021/12/16

2023/04/18

タグの絞り込みサムネイル

WordPressで記事を執筆していると

  • 投稿一覧に記事が溜まって見にくくなってしまう
  • 昔に書いた記事が埋もれてしまう
  • タグづけした記事を忘れてしまった

という事があると思います。

そんな時複数の条件で絞り込めたらすぐに目当ての記事を見つけ出す事ができるのですが、WordPressには「日付、カテゴリー」の2つしか絞り込める条件がありません。

そこで、今回は「タグ、投稿者」の条件でも絞り込める方法を解説していきたいと思います。

これらができるだけで管理画面上で記事を探すのがとても楽になるので是非最後までついてきてくださいね!

今回の記事でできるようになる事
  • 管理画面の投稿一覧で「タグ、投稿者」で記事を絞り込む事ができるようになる
  • 管理画面で記事を探すスピードが速くなる

ZeroPlus Gateについて

プログラミング学習でこのような経験はありませんか?

  1. 目標に向けて何を学べば良いかわからない
  2. 調べても解決策が見つからない
  3. 現場レベルのスキルが身につくのか不安

これらの悩みは、学習環境を整えることで全て解決することができます。

ZeroPlus Gateでは、30日間無料で最適な学習環境を提供しています。

  1. なんでも相談できる専属メンター
  2. いつでも技術相談ができるプロ講師
  3. 元IT企業CTO監修のカリキュラム

条件なしでこのレベルの環境を無料で提供しているのはZeroPlus Gateだけです。
ただし、無料サービスの提供には参加者の数に制限があります。

少しでも興味がある方は、以下のリンクからサービスの詳細をご覧ください。

今すぐZeroPlus Gateの詳細を見る

今回作りたいもの

まずは、今回作成するものを確認していきます。

投稿一覧の初期表示

まずは投稿一覧を変更する前の初期表示を確認します。

投稿一覧初期表示

  • 日付
  • カテゴリー

でしか絞り込む事ができませんね!

 

修正後の投稿一覧

修正した後の投稿一覧を確認します。

投稿一覧変更後の表示

  • 日付
  • カテゴリー
  • タグ
  • ユーザー

新たに「タグユーザー」で絞り込むことができるようになってますね!

それでは早速実装していきましょう。

ZeroPlusgate50教材の動画

実装

今回はテーマを修正することになるので、修正するファイルはfunctions.phpとなります。

外観 > テーマエディターよりエディタへと移動します。
※知見がある方は、外部のテキストエディタで編集することも可能です。

サイドバーよりfunctions.phpをクリックします。

functions.phpを編集できるようになったら次へ進みます。

投稿一覧を「タグ」で絞り込む機能を実装

/* 投稿一覧絞り込み用 */
//投稿一覧リストの上にタグフィルターを追加する
function narrowing_down_posts(){
    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 );
    }
}
add_action('restrict_manage_posts', 'narrowing_down_posts');

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

こちらをfunctions.phpファイルの末尾に書き込みます。

ファイルを更新して表示を確認してみましょう。

 

投稿一覧を「タグ」で絞り込む機能を確認する

タグで絞り込み実装確認

このように「全てのタグ」と表示されていれば実装できています!

 

それでは次にユーザーで絞り込む機能を実装します。

投稿一覧を「ユーザー」で絞り込む機能を実装

/* 投稿一覧絞り込み用 */
//投稿一覧リストの上にタグフィルターと管理者フィルターを追加する
function narrowing_down_posts(){
    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', 'narrowing_down_posts');

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

新しく「wp_dropdown_users」という関数を追加しました。

それでは投稿一覧の表示を確認してみます。

 

投稿一覧を「ユーザー」で絞り込む機能を確認する

ユーザーで絞り込み実装確認全てのユーザーと表示されていれば実装は完了です。

機能を確認する

それでは今まで実装した「タグ、ユーザー」 での絞り込み機能が正しく動くかどうかテストしてみます。

  1. 全てのタグから、任意のタグを選択
  2. 全てのユーザーから、任意のユーザーを選択
  3. 絞り込みをクリック

それでは結果を確認します。

絞り込み結果確認

このように絞り込んだ内容と同じ記事だけが表示されましたね!

最後に今回実装したソースコードに関して解説していきます。

ZeroPlusgate50教材の動画

コードの解説

それでは今回実装したコードを解説していきます。

narrowing_down_postsの解説

1番最初に記述している関数「narrowing_down_posts」では下記2つのことを指示しています。

  1. "タグ"一覧のドロップダウンを作成
  2. "ユーザー"一覧のドロップダウンを作成

それぞれ下記の関数により、ドロップダウンの内容を作成しています。

  1. wp_dropdown_categories( カテゴリーのドロップダウンに入れる内容を指定した配列);
  2. wp_dropdown_users(ユーザーのドロップダウンに入れる内容を指定した配列);

add_action('restrict_manage_posts', 'narrowing_down_posts');の解説

こちらの関数では先ほど作成したドロップダウンをカテゴリー一覧の隣に表示されるような指示を出しています。

restrict_manage_postsのフック利用を詳しく知りたい方はこちらからご確認ください。

add_action('load-edit.php', 'narrowing_down_posts_all_tag');の解説

こちらではload-edit.phpに記述されている内容が実行される際に「narrowing_down_posts_all_tag」も実行されるように指示しています。

絞り込みクリック時に「全てのタグ」が選択されていたら、タグは無視してね!という事が書いてあります。

WordPressを学習中の方へ

WordPressを学習していて、このように思ったことはありませんか?

  • フリーランスとして「現場で使える」知識やスキルを身につけたい
  • 仲間と一緒に「楽しく」学びたい
  • 周りと差をつけられるように「効率的に」学びたい
  • WordPressだけでなくデザインも勉強して「ハイレベル」なWebサイトを作りたい

プログラミングスクールZeroPlusでは講師が全員フリーランスとしての活動経験があり、ハイレベルな内容わかりやすく学ぶことができます。

また、ZeroPlusは生徒同士のコミュニケーションが盛んで、仲間とともにやり切ることができるスクールです。アットホームな雰囲気で、入塾後の挫折率は極めて低くなっております。

実際に生徒さんがコミュニケーションを取られている様子はTwitterで確認いただけます。ぜひこちらから覗いてみてくださいね…!

ここまででZeroPlusに興味を持ってくださった方は、ぜひオンラインの無料相談にお申し込みください。皆様のプログラミング学習やキャリアに関するお悩みを、一緒に解消する時間になればと思います。

 

また、1ヶ月完結型のプログラミングキャンプ「ZeroPlus Gate」では1日10分の学習でWeb制作の基礎を本格的に学ぶことができます。

リリースを記念して期間限定で無料キャンペーンを行っています。
こちらのZeroPlus Gate公式サイトより皆様のお申し込みをお待ちしております。

サイト内問い合わせフォームより、簡単に受講することができます。

また、公式LINEではZeroPlus Gateに関する最新情報やWeb制作に役立つ知識を配信しています。下記QRよりご登録ください。

ZeroPlus Gate QR画像

ZeroPlus Gateについて

プログラミング学習でこのような経験はありませんか?

  1. 目標に向けて何を学べば良いかわからない
  2. 調べても解決策が見つからない
  3. 現場レベルのスキルが身につくのか不安

これらの悩みは、学習環境を整えることで全て解決することができます。

ZeroPlus Gateでは、30日間無料で最適な学習環境を提供しています。

  1. なんでも相談できる専属メンター
  2. いつでも技術相談ができるプロ講師
  3. 元IT企業CTO監修のカリキュラム

条件なしでこのレベルの環境を無料で提供しているのはZeroPlus Gateだけです。
ただし、無料サービスの提供には参加者の数に制限があります。

少しでも興味がある方は、以下のリンクからサービスの詳細をご覧ください。

今すぐZeroPlus Gateの詳細を見る

\ 学んだことをSNSでシェアしよう /

この記事の執筆者

ZeroPlus Media変種部

ZeroPlus Media編集部

ZeroPlusは、「フリーランス特化型プログラミングスクール」です。ZeroPlus Mediaでは、フリーランスとして活躍する際に役立つ有益なプログラミングやWeb制作に関する情報を発信しています。

質問について

ZeroPlus Media読者限定で質問対応をおこなっています。以下の2つの方法で質問を受け付けています。

選べる2つの質問方法

1

Google Foam(テキスト)で質問

mail

フォーム送信

メールで解答

formで質問
2

Google meet(オンラインmtg)で質問

meet

日時選択

メールを受け取る

メールからmtgに参加

meetで質問
ZeroPlus Gateについて

あなたの目的に合わせた2つのサービス

あなたの目的に合わせたZeroPlusの2つのサービス
基礎からフリーランスレベルまで本質的な学びを提供しています

完全無料!30日間で学びきれる
プログラミンスクールZeroPlus Gate

  • お金をかけずに、学習を進めたい
  • Webサイトを作れるようになりたい
  • メンターや講師に質問しながら学習したい

詳しくはこちらから

フリーランス特化型
プログラミングスクール ZeroPlus

  • プログラミング学習で悩んでいる
  • 仲間と一緒に学習したい
  • フリーランスとしての総合的な力を養いたい

詳しくはこちらから