搜索表单选项组类别

时间:2013-10-18 作者:Christopher

您好,我使用此代码允许我的读者通过针对特定类别筛选搜索结果。

如何编辑它以生成2个类别组选项?我有20个类别。我想要第一个选项过滤10个特定类别,另一个选项过滤其他10个类别。

<form role="search" method="get" id="searchform" action="<?php bloginfo(\'siteurl\'); ?>">
  <div>
    <label class="screen-reader-text" for="s">Search for:</label>
    <input type="text" value="" name="s" id="s" />
    in <?php wp_dropdown_categories( \'show_option_all=All Categories\' ); ?>
    <input type="submit" id="searchsubmit" value="Search" />
  </div>
</form>
谢谢你。

1 个回复
最合适的回答,由SO网友:Ivan Hanák 整理而成

您可以在搜索查询中使用wp public query vars.

在多个类别中搜索时,wordpress在url中接受逗号分隔的类别ID&cat=1,2,5

现在我只能想出这样简单的解决办法。

摆脱wp\\u下拉列表中的类别,例如使用Get\\u categories,这样您就可以将选择属性名称自定义为cat[] (这也可以通过wp\\u dropdown\\u ca…,但请记住)提交表单后,将SELECT attribute设置为multiple当用户选择了多个值时,您应该获得一个类别ID的POST数组,现在将它们格式化为逗号分隔的值,并将用户重定向到新的URL,例如www.site。com/?s=汽车和;cat=1,45,45将用户重定向到URL,WordPress可以读取URL并为您提供适当的结果。另一种方法是,当用户选择类别时,使用Javascript可以获得所选的选项并设置隐藏输入,如下所示<input type="hidden" name="cat" value="1,5,10">. 现在,您不需要进行额外的重定向。

(我的想法只是提供一种方法,以及如何做到这一点。我的解决方案只是一个例子。

结束

相关推荐

如何编写Get_Categories_by_Year()函数?

我需要写信a function to get all the categories for a given year. 由于分类法的创建日期没有存储在数据库中,我真的不知道该怎么做。我最初的想法是获取给定年份的所有帖子,并以某种方式找到与这些帖子相关的所有类别,但我不知道如何做到这一点,这听起来非常缓慢。也许我可以写一些SQL,但我对PHP更为精通。再次回到函数,我想它应该是这样的:function get_categories_by_year($year) { // Do stuff...&#