query_posts
Wordpress を使用して送信されたフォームの値を使用して新しいクエリを作成しようとしていますが、悲惨なことに失敗していますwp_dropdown_categories
。
フォームは次のとおりです。
<form action="<?php bloginfo('url')/filter.php" method="GET">
<?php wp_dropdown_categories('child_of=1&name=colour'); ?>
<?php wp_dropdown_categories('child_of=2&name=type'); ?>
<input type="submit" name="submit" value="view" />
</form>
次のHTMLをレンダリングします(スペースを節約するために少し簡略化されています)
<form action="http://localhost:8888/project/wp-content/themes/project/filter.php" method="GET">
<select name='colour' id='colour' class='postform' >
<option value="3">Red</option>
<option value="4">Blue</option>
<option value="5">Blue</option>
</select>
<select name='type' id='colour' class='postform' >
<option value="6">Small</option>
<option value="7">Medium</option>
<option value="8">Large</option>
</select>
<input type="submit" name="submit" value="view" />
</form>
そして、ここにfilter.php
ファイルの内容があります
<?php
$args = array(
'category__in' => array(HELP HERE);
query_posts( $args );
// The Loop
while ( have_posts() ) : the_post();
echo '<li>';the_title();
echo '</li>';
endwhile;
// Reset Query
wp_reset_query();
?>
ここで最も重要な要素は、これが柔軟である必要があるということです。つまり、select の 1 つだけが使用されている場合でも、クエリは機能するはずです。
私はほとんどそこにいると思いますcategory__in => array()
。選択したオプションの値から の配列を構築しているだけです。
助けてくれてありがとう!