当先锋百科网

首页 1 2 3 4 5 6 7

zblog模板和程序默认并不存在让其中某些分类不显示的功能,而现在又有不少博客喜欢在博客中建设更多分类,某些分类或者因为隐私或者琐事不相关,不想让某些分类的文章显示在首页,那么如何解决呢?

今天来分享两个首页不显示置顶分类的方法:

方法一:

分析:要在首页不显示,就是判断下这个文章的分类,可以这样分析吧。代码如下:

{if $article.Category.Name=='分类的名称'}
{elseif $article.IsTop}
{template:post-istop}
{else}
{template:post-multi}
{/if}

方法二:

实现的方法:

通过函数过滤指定分类,重建分页后,挂接Filter_Plugin_ViewList_Core接口。接口位置:zb_system/function/c_system_event.php,有兴趣可自行研究。

教程代码:

1、1、在主题的include.php文件最后一行的?>上面添加以下函数代码:

function 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;
}	}

 

以上代码第四行中的1是要排除的分类ID,分类ID请在后台分类管理中查看。

2、在主题激活时执行的函数中(一般是ActivePlugin_主题ID(){})添加以下代码:

Add_Filter_Plugin('Filter_Plugin_ViewList_Core','exclude_category');

3、保存后即可生效!

注意:这里的分类ID也可以在主题配置内设置,更加方便,而不需要每次都去修改include.php文件才能解决zblog模板首页不显示某些分类!

来源:http://www.boke8.net/zblogphp-exclude-cateogry-in-list.html