代码之家  ›  专栏  ›  技术社区  ›  SubZer0

WordPress搜索结果的个性化,包括页面和类别

  •  0
  • SubZer0  · 技术社区  · 1 年前

    我想根据我想要的页面显示搜索结果(例如 关于我们 联系我们 页面不在搜索结果中),我想要的类别(例如,只有包含 喜剧片 行动 类别在结果中)以及该网站的所有产品。

    请教我们如何根据类别或页面的名称进行筛选。。。并且基于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() 它到底做什么?

    0 回复  |  直到 1 年前