前提・実現したいこと
「赤の記事」、「青の記事」、「緑の記事」、「白の記事」、「黒の記事」という内容のチェックボックスのカスタムフィールドを絞り込み検索したいと思っています。そのなかで現在のソースのままですと、配列の中から1つ1つを取り出すということはできるのですが、記事が増えていった場合に$colors[]の部分を毎回作らないといけません。そのため、記事が増えていっても配列から取り出せるようにするには、どのようにしたらよろしいでしょうか?
該当のソースコード
チェックボックスのHTMLのコード <div class="serch-form"> <form action="" method="post"> <input type="checkbox" value="red" name="colors[]" class="check_box" id="hoge1" /> <label class="label" for="hoge1">赤に関する記事</label> <input type="checkbox" value="blue" name="colors[]" class="check_box" id="hoge2" /> <label class="label" for="hoge2">青に関する記事</label> <input type="checkbox" value="green" name="colors[]" class="check_box" id="hoge3" /> <label class="label" for="hoge3">緑に関する記事</label> <input type="checkbox" value="white" name="colors[]" class="check_box" id="hoge4" /> <label class="label" for="hoge4">白に関する記事</label> <input type="checkbox" value="black" name="colors[]" class="check_box" id="hoge5" /> <label class="label" for="hoge5">黒に関する記事</label> <input type="submit" value="検索する"> </form> <php>のコード <?php $jouken = null; if($colors) { foreach ($colors as $color) { $jouken[] = array( "key" => "color", "value" => $color, "compare" => "LIKE" ); } } ?> <?php $args = array( "meta_query" => array( 'relation' => 'OR', array( "key" => "color", "value" => $colors[0], "compare" => "LIKE" ), array( "key" => "color", "value" => $colors[1], "compare" => "LIKE" ) ) ); query_posts($args); if ( have_posts() ) : while ( have_posts() ) : the_post(); echo '<li>'; the_title(); echo '</li>'; endwhile; endif; wp_reset_query(); ?>
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。