为帖子/自定义帖子类型和所有内容创建多个搜索功能

时间:2011-02-25 作者:tbwcf

我目前正在一个wp网站上开发搜索功能。计划是在新闻页面上设置搜索功能,只搜索帖子。

我通过在我的函数中添加以下内容来实现这一点。php文件:

   /* search just posts */
function SearchFilter($query) {
  if ($query->is_search) {
  $query->set(\'post_type\', \'post\');
}
return $query;
}

 add_filter(\'pre_get_posts\',\'SearchFilter\');
这很好用。但是我还需要在自定义帖子类型列表上创建一个搜索-只搜索自定义帖子,也搜索整个网站的404页面。

你有什么想法可以让我非常感激吗?

1 个回复
最合适的回答,由SO网友:Bainternet 整理而成

您可以将搜索筛选器更改为:

function SearchFilter($query) {
$post_type = $_GET[\'post_type\'];
if (!$post_type) {
    $post_type = \'any\';
}
if ($query->is_search) {
    $query->set(\'post_type\', $post_type);
};
return $query;
}  

add_filter(\'pre_get_posts\',\'SearchFilter\');
然后在您的新闻搜索表单上添加:

<input type="hidden" name="post_type" value="post" />
在自定义帖子类型列表搜索表单上添加

<input type="hidden" name="post_type" value="customtypename" />
在整个网站上搜索,不要添加任何你设置的内容。

结束

相关推荐

Search result permalink

如何使permalink可用于搜索结果页/?s=一+二+确定到/搜索/一-二确定/感谢