カスタム投稿の投稿一覧をタクソノミーでも絞り込みできるようにする

harada 165views 更新:2016年5月13日

WordPressの管理画面の投稿一覧では、デフォルトでは年月やカテゴリーで絞り込み検索ができるようになっています。
これにカスタムタクソノミーでの絞り込みを追加する方法です。

以下をfunctions.phpに追加してください。

カスタム投稿「sample」で「area」と「course」というカスタムタクソノミーを設定している場合の例です。 文言は適宜修正してください。

add_action( 'restrict_manage_posts', 'add_post_taxonomy_restrict_filter' );
function add_post_taxonomy_restrict_filter() {
  global $post_type;
  if ( 'sample' == $post_type ) {
    $add_area = $_GET['area'];
    $add_course = $_GET['course'];
    ?>
//一つ目
    <select name="area">
      <option value="">エリアを選択</option>
      <?php
      $terms = get_terms('area');
      foreach ($terms as $term) { ?>
        <option value="<?php echo $term->slug; ?>"<?php if( $add_area == $term->slug ) echo 'selected="selected"'; ?>><?php echo $term->name; ?></option>
      <?php } ?>
    </select>
//二つ目
    <select name="course">
      <option value="">コースを選択</option>
      <?php
      $terms = get_terms('course');
      foreach ($terms as $term) { ?>
        <option value="<?php echo $term->slug; ?>"<?php if( $add_course == $term->slug ) echo 'selected="selected"'; ?>><?php echo $term->name; ?></option>
      <?php } ?>
    </select>
    <?php
  }
}

参考:WordPressでカスタム投稿もタクソノミーなどで絞り込みが出来る様にする。

コメント

  1. @superGTphoto のコメント (2016年7月12日)

    こんにちは。
    別のところではお世話になりました。

    ここでの質問とは少し異なってしまうのですが、
    教えていただきたいことがありますので、コメントさせていただきます。

    wordpressを使って会員専用サイトを構築しようとおもって勉強しているものです。
    今の環境はwordpress4.5.3
    プラグイン
     BuddyPress 2.6.0 (これをメインにして構築)
     bbPress 2.5.9  (フォーラムを入れるため)
     Advanced Custom Fields 4.4.7(入力項目を指定したいため(以下ACF))
    テーマ
     Tortuga 1.0.8
    を使っています。
    サイトの中で「クーポン」というメニューを作っています。
    独自の項目で登録をする仕様としています。

    (1)ACFで入力させたい項目を作成(カテゴリ:クーポン)
    (2)page-aaa_aaaaaa.phpを作成(form等)
    (3)固定ページで新規にページを作成
     (テンプレート:aaa_aaaaaa)
     (スラッグ:aaa_aaaaaa)
     本文は空白
    (4)funcions.phpに関数追加
    (5)投稿用php(create-thread.php)をfunctionsフォルダを作成し追加

    参考URL:http://takahashifumiki.com/web/programing/2173/

    としています。
    メニューを指定すると、入力項目と送信ボタンは出てきますが、
    実際に入力をしても投稿されない状況になっています。

    実際のコードを見ていただくのが早いのは承知してるのですが、
    送信ボタンを押下しても動作していないということは何か記述が
    足りていないということなのでしょうか?

    ご教授のほどよろしくお願いします。

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません