自定义帖子类型的Wordpress自定义搜索页面

时间:2012-11-12 17:03:55

标签: wordpress custom-post-type

我有一个自定义帖子类型recipes,它使用archive-recipes.php模板在网站上显示配方的分页列表。

我需要能够使用页面顶部的搜索表单搜索这些食谱:

<form role="search" method="get" class="searchbox" action="/recipes/">
    <input type="text" class="textbox strong" name="s" id="s" value="" placeholder="Search..." />
    <input type="hidden" name="post_type" value="recipes" />                     
    <button type="submit" class="button icon"></button>
</form>

一旦执行了搜索,是否可以返回此配方列表页面并以与列表相同的样式显示结果?

我似乎找不到能够为自定义帖子类型创建自定义搜索页面的任何内容。

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

您可以使用'template_include'过滤器。

e.g。在你的函数文件中。

function template_chooser($template)
{
  global $wp_query;
  $post_type = get_query_var('post_type');
  if( $wp_query->is_search && $post_type == 'recipes' )
  {
    return locate_template('archive-recipes.php');
  }
  return $template;
}
add_filter('template_include', 'template_chooser');

这应检查“食谱”自定义帖子类型的搜索,并使用您的存档页面模板获取结果。