zblog首页列表如何排除指定分类文章

zblog首页列表默认按文章发布的先后时间显示全站文章,如果不想在首页文章循环列表中显示某个分类的文章,则需要通过代码或者插件修改,下面是实现zblog首页文章列表排除指定分类的文章的代码教程。

1、在主题include.php文件添加以下函数代码:

function qiteen_exclude_category(&$type,&$page,&$category,&$author,&$datetime,&$tag,&$w,&$pagebar){
    global $zbp;    
    if($type == 'index'){
        $w[]=array('<>','log_CateID',1);
        //以下是为了重建分页,过滤了分类,数量会发生变化
        $pagebar = new Pagebar($zbp->option['ZC_INDEX_REGEX']);
        $pagebar->PageCount = $zbp->displaycount;
        $pagebar->PageNow = $page;
        $pagebar->PageBarCount = $zbp->pagebarcount;
    }    
}

代码array('<>','log_CateID',1)中的数字1是要排除的分类ID

2、在主题include.php文件的ActivePlugin_xxx()函数中添加以下代码:

Add_Filter_Plugin('Filter_Plugin_ViewList_Core','exclude_category');

保存后,在后台首页更新缓存即可生效。

方法解析:

通过函数过滤指定分类,重建分页后,挂接Filter_Plugin_ViewList_Core接口。

接口位置:zb_system/function/c_system_event.php,有兴趣可自行研究。

代码转自博客吧

关键词:zblog开发