サポート » 使い方全般 » カテゴリをチェックボックスにし複数選択したい

  • カテゴリーを下記のような流れで使いたいと思っています。

    1.各カテゴリーをチェックボックス形式にする
    2.複数選択もできるようにする
    3.ボタンを押したらカテゴリー(複数有)に該当する投稿記事を表示させたい

    まず、カテゴリーをチェックボックスにする方法があるのかというところからつまずいて
    います。フォーラム等で検索してみましたが、それらしい記事はあるものの解決していない
    ようだったので、投稿させていただきました。

    もし、実現している方、ご存知の方がいらっしゃいましたらアドバイス頂きたいです。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • 1,2 まで。

    $cats = get_categories();
    foreach($cats as $cat) :
      $id = "cat-" . $cat->cat_ID;
      echo '<label for="' . $id . '">'
       . '<input type="checkbox" value="' . $cat->cat_ID . '" id="' . $id . '" />'
       . $cat->cat_name . '</label>';
    endforeach;

    マークアップはお好みでアレンジしてください。

    1〜3 全部。

    一.my-category.php(テキトウ)を作成:

    <?php
    /**
      Template Name: My Category
     */
    get_header();
    
    if(isset($_POST['category'])) :
      query_posts('posts_per_page=-1&cat=' . implode(',', $_POST['category']));  // or
      // query_posts(array('category__and' => $_POST['category'], 'posts_per_page' => -1)); // and
      while(have_posts()) :
        the_post();
        echo '<h2><a href="' . get_permalink() . '">' . get_the_title() . '</a></h2>';
        echo get_the_content();
      endwhile;
      wp_reset_query();
    else :
      ?><form method="post" action="<?php bloginfo('url') ?>/my-category"><?php
      $cats = get_categories();
      foreach($cats as $cat) :
        $id = "cat-" . $cat->cat_ID;
        echo '<label for="' . $id . '">'
         . '<input type="checkbox" value="' . $cat->cat_ID . '" name="category[]" id="' . $id . '" />'
         . $cat->cat_name . '</label>';
      endforeach;
      ?><input type="submit" value="カテゴリー一覧を表示" name="submit" /></form><?php
    endif;
    
    get_footer();
    ?>

    二.新規ページを作成して
      ページスラッグを my−category にして
      ページテンプレートで My Category を選択。

    三.http://example.com/my-category にアクセス。

    諸々お好みに合わせてアレンジ&作り込みしてください。

    トピック投稿者 suberuba

    (@suberuba)

    kzさん、いつもお世話になっております。
    教えて頂いたコードで実験している最中ですが、求めていた動きをしています!
    カスタマイズ中に質問が出てくるかも知れませんが、またアドバイス頂けるとうれしいです。

    項目ごとにラジオボタンでひとつだけ選択できるようにしたいのですが、
    name=”category[]”を変更すると、検索が機能しなくなってしまいます。
    <form name=”sample”>
    <input type=”radio” value=”r1″ name=”r1″>項目1-1
    <input type=”radio” value=”r2″ name=”r1″>項目1-2
    <input type=”radio” value=”r3″ name=”r1″>項目1-3
    <input type=”radio” value=”r3″ name=”r2″>項目2-1
    <input type=”radio” value=”r3″ name=”r2″>項目2-2
    <input type=”radio” value=”r3″ name=”r2″>項目2-3
    </form>
    のようにするにはどうすればいいですか?
    教えていただけるとうれしいです。
    宜しくお願いします。

    susumuさん、このフォーラムでは便乗質問はできませんよ。新たにスレッドを立ててください。

    毎回この回答をするのも疲れるな・・・

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「カテゴリをチェックボックスにし複数選択したい」には新たに返信することはできません。