Wordpress高级搜索功能

时间:2014-12-31 22:28:37

标签: wordpress search

我正在尝试优化我的wordpress搜索,并找到我放入我的functions.php的以下代码,它扩展了wordpress搜索以包含所有页面和帖子。

// Search Pages AND Posts
function filter_search($query) {
if ($query->is_search) {
$query->set('post_type', array('post', 'page'));
};
return $query;
};
add_filter('pre_get_posts', 'filter_search');

以上代码正在运行,现在将页面包含在搜索中。:)

如果可能,我还想添加以下内容:

1。)将我的wordpress类别和标签添加到上面的代码中,以便返回包含它们的搜索。

2。)排除我不想在搜索中出现的某些页面(例如:条款和条件页面)

我知道有插件可以做这样的事情,但我认为如果我可以扩展搜索功能,我网站上的资源可能会少一些。

由于 格雷格

1 个答案:

答案 0 :(得分:0)

类别是一个单独的分类。 您必须为类别创建add_filter,或者仅为子类别创建add_filter。并且功能如:

$categories = get_categories(‘child_of=1′);
$catlist = ”;
foreach ($categories as $cat) {
$catlist.= $cat->cat_ID.’,'; 
}
$catlist.’5′;

然后合并$ query,$ categories vars

$mergedposts = array_unique( array_merge( $query, $categories ) );