1

我有一个自定义帖子类型,它使用模板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>

搜索完成后是否可以返回此食谱列表页面并以与列表相同的样式显示结果?

我似乎找不到任何可以让我为自定义帖子类型创建自定义搜索页面的东西。

谢谢你的帮助。

4

1 回答 1

3

您可以使用“template_include”过滤器。

例如在您的函数文件中。

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');

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

于 2012-11-12T18:51:36.617 回答