zblog首页屏蔽某个文章分类的方法

行知平面设计 2020-05-24 10154

之前就有网友反馈过,不希望在首页显示某个分类下的所属文章,但是一直没有抽出时间做研究,结果,,,网友自己做出来了,嗯嗯,不逼下自己永远不知道自己有多大的潜力,给你点赞。

你是最胖的.jpg

简单百度了以下,基本都是涂涂大神的代码,我也是照搬,方法很适用,我测试的时候直接使用的是第二种方法,因为@涂涂说:

这种方法有个缺点,就是如果每页显示5篇文章,而且你如果连续发布5篇文章,就会出现一个问题,首页列表会为空,(感谢博友的提醒,谢谢流年和一个博友)这种方法对于很少发布指定分类的文章的用户适用。但是对于这种情况就不好使了。。

具体方法:

  • 找到主题模板中的include.php,挂接口:(代码如下)

Add_Filter_Plugin('Filter_Plugin_ViewList_Core', '主题ID_Shield_Category');
  • 函数代码如下:

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

OK,代码中的“5”指的是首页屏蔽分类的ID,当然您也可以把数值换成主题接口,让客户自行选择需要屏蔽的分类文章,如果是多个分类,用,逗号(英文状态)隔开就行了,!再次感谢@涂涂大神的分享,点个赞!!!

The End
微信