我正在尝试优化我的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。)排除我不想在搜索中出现的某些页面(例如:条款和条件页面)
我知道有插件可以做这样的事情,但我认为如果我可以扩展搜索功能,我网站上的资源可能会少一些。
由于 格雷格
答案 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 ) );