最新公告
  • 欢迎您光临7k源码资源网,本站秉承服务宗旨 履行“站长”责任!立即加入我们
  • 这就很尴尬了,搜索结果也太广泛了。

    用户搜索到一些无关的内容,估计也很不爽,然后就尝试在搜索结果页面排除一些内容,例如:指定页面、指定文章、指定自定义分类(post_type)等内容。

    嗯,折腾一阵子也算是折腾好了,现在搜索页只会显示搜索相关的文章了。

    方法也挺简单,几行代码就能搞定,下面分享几段搜索结果排除内容的WordPress代码

    搜索结果排除指定ID文章或页面

    //搜索结果排除指定ID的文章或页面
    
    function Bing_search_filter_id($query) {
        if ( !$query->is_admin && $query->is_search) {
            $query->set(\'post__not_in\', array(40,819));//文章或者页面的ID
        }
        return $query;
    }
    add_filter(\'pre_get_posts\',\'Bing_search_filter_id\');
    

    搜索结果排除指定分类的文章

    //搜索结果排除某些分类的文章
    function Bing_search_filter_category( $query) {
        if ( !$query->is_admin && $query->is_search) {
            $query->set(\'cat\',\'-15,-57\'); //分类的ID,前面加负号表示排除;如果直接写ID,则表示只在该ID中搜索
        }
        return $query;
    }
    add_filter(\'pre_get_posts\',\'Bing_search_filter_category\');
    

    搜索结果排除所有页面

    //搜索结果排除所有页面
    function search_filter_page($query) {
        if ($query->is_search) {
            $query->set(\'post_type\', \'post\');
        }
        return $query;
    }
    add_filter(\'pre_get_posts\',\'search_filter_page\');
    

    搜索结果排除自定义分类(post_type)

    //搜索结果排除自定义分类(post_type)
    function searchAll( $query ) {
    	if ( $query->is_search ) { $query->set( \'post_type\', array( \'site\' )); } 
    	return !$query;
    }
    add_filter( \'the_search_query\', \'searchAll\' );
    

     

    文章来自7k源码资源网www.7kymw.cn转载请保留本链接,谢谢!


    7k源码资源网 » WordPress搜索结果排除指定页面/文章/自定义分类

    发表评论

    • 275会员总数(位)
    • 66766资源总数(个)
    • 414稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情