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

时间:2016-05-10 17:33:22

标签: php wordpress search custom-post-type

我设置了一个自定义搜索表单来搜索和显示自定义帖子类型的结果。表格是:

<form class="search-form" action="<?php echo home_url( '/' ); ?>">
  <input type="search" name="s" placeholder="Search&hellip;">
  <input type="hidden" name="post_type" value="resource-library">  
  <input type="submit" value="Search">
</form>

在我的search.php中,如果内容类型是资源库,我想引导人们访问名为search-resource-library.php的自定义搜索php文件。所以我把它放在search.php页面的顶部:

<?php
// store the post type from the URL string
$post_type = $_GET['post_type'];
// check to see if there was a post type in the
// URL string and if a results template for that
// post type actually exists
if ( isset( $post_type ) && locate_template( 'search-' . $post_type . '.php' ) ) {
  // if so, load that template
  get_template_part( 'search', $post_type );

  // and then exit out
  exit;
}
?>

我完全了解了这一点,但我似乎无法从搜索表单html中设置的URL字符串中存储帖子类型。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我发现了这个问题。我的原始代码和方法是正确的。由于安装了名为“Nice Search”的插件,因此未从搜索表单传递url参数。此插件将?s =查询搜索重定向到/ search / query,并将%20转换为+。