カスタムタクソノミーをチェックボックスで表示し、複数チェックできる
-
よろしければお力添え願います。
カスタムタクソノミーをチェックボックスで表示して、チェック後にボタンクリックでタームを絞ったページを表示する仕組みを作りたく苦闘しています。
タームが一つの場合は動作するのですが、複数選択させようとするとうまくいきません。理想はこちらの質問が近く、参考にさせてもらっています。
ソースは下記の通りです。
■フォーム設置ページ
<form action="<?php echo home_url(); ?>/" method="post"> <ul> <?php $terms = get_terms(array('カスタムタクソノミーのスラグ名')); foreach($terms as $term) : $id = $term->slug; echo '<label for"' . $id . '">' . '<input type="checkbox" value="' . $term->slug . '" name="カスタムタクソノミーのスラグ名[]" id="' . $id . '" />' . $term->name . '</label>'; endforeach; ?> </ul> <input type="submit" value="検索" /> </form>
■結果表示ページ
taxonomy-カスタムタクソノミースラグ名.php<?php if(have_posts()) : while ( have_posts() ) : the_post(); ?> <div><?php the_title(); ?></div> <?php endwhile; else: ?> <p>このカテゴリに投稿はありません。</p> <?php endif; ?>
■現在の状況
・カスタムタクソノミーのチェックが一つだと正常に表示されます。
この時、URLは「サイトURL/カスタムタクソノミースラグ名/ターム名」となっています。
・二つ以上チェックがあるとコンテンツ表示部分が真っ白になります。
この時、URLは「サイトURL/?カスタムタクソノミースラグ名%5B%5D=ターム名1&カスタムタクソノミースラグ名%5B%5D=ターム名2」となっています。
・URLを「サイトURL/カスタムタクソノミースラグ名/ターム名1+ターム名2」と手動で修正すると正常に表示されます。ご教授いただけますと幸いです。
どうぞよろしくお願いいたします。
1件の返信を表示中 - 1 - 1件目 (全1件中)
1件の返信を表示中 - 1 - 1件目 (全1件中)
- トピック「カスタムタクソノミーをチェックボックスで表示し、複数チェックできる」には新たに返信することはできません。