如何根据帖子类型构建高级搜索表单?

时间:2012-08-20 作者:Batman

我正在尝试按帖子类型构建高级搜索表单。

例如

我有自定义帖子类型:LocatieTaxonomy:locatii

我在PostType中有类别:

类别:

-Orase-Arad-Alba。。。。

-提示-利夫雷尔之点-凝视医疗

我想得到该类别的所有帖子。。

例如,我选择Arad和凝视药物。。。应该告诉我阿拉德市的所有医疗点。

<form method="get" name="searchform" action="<?php bloginfo(\'url\'); ?>/">

<fieldset>
<legend>Centre de distributie:</legend>
<form>
<table width="500" border="0" cellpadding="0">
  <tr>
    <td width="135"><b>Selecteaza oras :</b></td>
    <td width="359"><select name="locatie">
<option value="alba">Alba</option>
<option value="arad">Arad</option>
<option value="arges">Arges</option>
<option value="bacau">Bacau</option>
</select>
    </td>
  </tr>
</table>


<div class="ti"><b>Limiteaza cautarile</b></div>
<div class="linie"></div>

<table width="500" border="0" cellpadding="0">
  <tr>
    <td width="20"><input name="produs" value="1" type="checkbox"></td>
    <td width="160">Punct de livrare</td>
    <td width="25"><input name="produs" value="1" type="checkbox"></td>
    <td width="109">Parteneri logistica</td>
    <td width="35"><input name="produs" value="1" type="checkbox"></td>
    <td width="137">Agenti</td>
  </tr>
  <tr>
    <td><input name="produs" value="1" type="checkbox"></td>
    <td>Gaze Medicale</td>
    <td><input name="produs" value="1" type="checkbox"></td>
    <td>Propan</td>
    <td><input name="produs" value="1" type="checkbox"></td>
    <td>Refrigerenti</td>
  </tr>
</table>
<div class="sub">
<input class="art-button" type="submit" name="search" value="<?php _e(\'Search\'); ?>" />
</div>

</fieldset>
</form>

2 个回复
SO网友:Tom J Nowell

在搜索表单中,添加输入name="post_type"value="customposttypehere".

您可以将其作为隐藏输入、文本输入、组合框或单选按钮等,只要它位于搜索表单中。

对于任何其他查询变量(如post\\U类型等)也是如此,您通常会将其放入WP\\U查询中

SO网友:Zach

你需要调查一下pre_get_posts(). 皮平·威廉姆森(PippinWilliamson)提供了一个很好的入门教程,Using pre_get_posts to Modify Queries for Meta Data and More (极大地帮助了我)。

结束