カスタムタクソノミーをチェックボックスで複数チェックする方法
-
よろしければお力添え願います。
カスタムタクソノミーをチェックボックスで表示して、チェック後にボタンクリックでタームを絞ったページを表示する仕組みを作りたく苦闘しています。
タームが一つの場合は動作するのですが、複数選択させようとするとうまくいきません。理想はこちらの質問が近く、参考にさせてもらっています。
ソースは下記の通りです。
■フォーム設置ページ
<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」と手動で修正すると正常に表示されます。ご教授いただけますと幸いです。
どうぞよろしくお願いいたします。
- トピック「カスタムタクソノミーをチェックボックスで複数チェックする方法」には新たに返信することはできません。