Wordpress 高级搜索功能

问题描述 投票:0回答:1

我正在尝试完善我的 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.) 排除某些我不想在搜索中出现的页面(例如:条款和条件页面)

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

谢谢 格雷格

php wordpress search
1个回答
0
投票

类别是一个单独的分类法。 您必须为类别或仅为子类别创建 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 ) );
© www.soinside.com 2019 - 2024. All rights reserved.