Wordpress变量编码搜索表单

时间:2016-03-03 17:30:48

标签: php wordpress

我有问题!将此代码用于搜索表单WP

<form method="get" action="<?php bloginfo('url'); ?>" id="searchform">
<fieldset>
<input type="text" name="s" value="" placeholder="search&amp;" />
<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

感谢您的回答

2 个答案:

答案 0 :(得分:1)

我建议改变这样的形式,

<form method="get" action="<?php bloginfo('url'); ?>" id="searchform">
<fieldset>
<input type="text" name="s" value="" placeholder="search&amp;" />
<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&amp;" />
        <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' );

选择动态