我想根据我想要的页面显示搜索结果(例如
关于我们
和
联系我们
页面不在搜索结果中),我想要的类别(例如,只有包含
喜剧片
和
行动
类别在结果中)以及该网站的所有产品。
请教我们如何根据类别或页面的名称进行筛选。。。并且基于ID。
我有以下代码,但它并不完整:
add_filter('pre_get_posts','search_filter_pages');
function search_filter_pages($query) {
// Frontend search only
if ( ! is_admin() && $query->is_search() && $query->is_main_query() ) {
$query->set( 'post_type', array( 'product', 'post', 'page' ) );
$query->set('cat', array( 'Comedy', 'Action' ) );
}
return $query;
}
上面的代码搜索所有页面。
上面的代码搜索所有文章,不筛选类别。
离题问题:
有什么用
$query->is_main_query()
它到底做什么?
。