您不需要类型变量和其他自定义搜索查询代码位,也不需要像其他答案那样的自定义函数。
在您的搜索框中,不要将表单提交给/提交给/my\\u post\\u type/而是!WordPress将自动为您处理其余的一切,无需任何努力。
What\'s more this means all the usual functions will work just as you expected them to!
例如,代替:
example.com/?type=species&s=giraffe
您可以执行以下操作:
example.com/species/?s=giraffe
其中示例。com/species是您的自定义帖子类型存档页面。
对于特定物种的搜索框:
<form role="search" method="get" id="searchform" action="<?php echo home_url( \'/species/\' ); ?>">
如果您想要一个带有选项的单一搜索框,可以将home\\u url函数参数从“/物种/”更改为“/”,然后添加一个名为“post\\u type”的下拉框字段,其中包含您需要的不同值,例如:
<form role="search" method="get" id="searchform" action="<?php echo home_url( \'/species/\' ); ?>">
<select name="post_type">
<option value="">Sitewide</option>
<option value="species">Species</option>
<option value="Glossary">Glossary</option>
</select>
这样做意味着没有自定义查询,也没有对变量的敷衍。所有的功能都是由WordPress提供的,您需要做的唯一额外的部分就是更改您的搜索框html!
All the normal wordpress functions on archive pages will now work as expected with no additional steps
您可以对类别、标记、分类法、作者和日期存档使用相同的技巧。
因此,请删除搜索模板中的WP\\u查询,并删除搜索中放置在get\\u template\\u part行上方的额外代码。php,更改搜索框,并确保已激活自定义永久链接