我有问题!将此代码用于搜索表单WP
<form method="get" action="<?php bloginfo('url'); ?>" id="searchform">
<fieldset>
<input type="text" name="s" value="" placeholder="search&" />
<select name="category_name">
<?php
$terms = get_terms( 'product_cat' );
foreach ( $terms as $term ) {
echo '<option value="&post_type=product&product_cat=' . $ricerca . $term->slug .'">', $term->name, "</option>\n";
}
?>
</select>
<button class="button" type="submit">Search</button>
</fieldset>
</form>
返回网址:
?s=primo&category_name=%26post_type%3Dproduct%26product_cat%3Dtest
我想回来:
?s=primo&category_name=&post_type=product&product_cat=test
感谢您的回答
答案 0 :(得分:1)
我建议改变这样的形式,
<form method="get" action="<?php bloginfo('url'); ?>" id="searchform">
<fieldset>
<input type="text" name="s" value="" placeholder="search&" />
<select name="product_cat">
<?php
$terms = get_terms( 'product_cat' );
foreach ( $terms as $term ) {
echo '<option value="' . $ricerca . $term->slug .'">', $term->name, "</option>\n";
}
?>
</select>
<input type="hidden" name="category_name" value="" >
<input type="hidden" name="post_type" value="product">
<button class="button" type="submit">Search</button>
</fieldset>
</form>
答案 1 :(得分:1)
使用此代码,以隐藏格式传递所有名称和值参数,格式需要在浏览器的URL中传递。
将category_name和product_cat分隔为选择和隐藏输入
<form method="get" action="http://localhost/" id="searchform">
<fieldset>
<input type="text" name="s" value="" placeholder="search&" />
<select name="category_name">
<option>test</option>
</select>
<input type="hidden" name="product_cat" value="">
<input type="hidden" name="post_type" value="product">
<button class="button" type="submit">Search</button>
</fieldset>
</form>
当提交表单时,所有具有名称的输入都将在URL中。
通过查询$terms = get_terms( 'product_cat' );