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