我正在尝试完善我的 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.) 排除某些我不想在搜索中出现的页面(例如:条款和条件页面)
我知道有一些插件可以做这样的事情,但我认为如果我可以扩展搜索功能,我网站上的资源可能会更少。
谢谢 格雷格
类别是一个单独的分类法。 您必须为类别或仅为子类别创建 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 ) );