zblog调用多个分类下指定时间内的热门文章

鉴于网上找了好久也没有找到zblog调用多个分类下的指定时间内的热门文章,在网上搜集了各种代码整理之后,成品如下

下面是一个封装好的函数,复制代码粘贴到你正在使用的主题的include.php里面:

封装函数:

function Zzsss_GetArticleCategorys($Rows,$CategoryID,$hassubcate){          global $zbp;      $ids = strpos($CategoryID,',') !== false ? explode(',',$CategoryID) : array($CategoryID);      $wherearray=array();       foreach ($ids as $cateid){        if (!$hassubcate) {          $wherearray[]=array('log_CateID',$cateid);         }else{                  $wherearray[] = array('log_CateID', $cateid);                  foreach ($zbp->categorys[$cateid]->SubCategorys as $subcate) {                      $wherearray[] = array('log_CateID', $subcate->ID);                  }        }      }      $stime = time();      $ytime = 7*24*60*60;      $ztime = $stime-$ytime;      $order = array('log_ViewNums'=>'DESC');       $where=array(                       array('array',$wherearray),                       array('=','log_Status','0'),                       array('>','log_PostTime',$ztime),                      );       $articles=    $zbp->GetArticleList(array('*'),$where,$order,array($Rows),'');                  return $articles;  }

使用方法:

{foreach $array=Zzsss_GetArticleCategorys(10,'1,2,3',true)  as $related}  <li><a href="{$related.Url}" target="_blank">{$related.Title}</a></li>  {/foreach}

使用说明:

封装函数中7*24*60*60的数字7代表的是7天 可以修改为30 90 等

使用方法中第一行代码中的四个阿拉伯数字,10代表调用的文章数量,“1,2,3”代表所调用的栏目ID(多个ID之间用,号隔开即可)。

我们还可以修改函数中的“array('log_PostTime'=>'DESC');”

其中:

log_PostTime=按照时间排序;

log_CommNums=按照评论数量排序;

log_ViewNums=按照浏览数量排序;

就这样完全可以根据自己的需要玩出不同的花样来!

    THE END
    【版权声明】: 本文来自网络搜集或网友投稿,不代表本站观点及立场,如有版权争议请联系本站删除
    您需要 登录账户 后才能发表评论
    发布评论
    • 评论列表
    最新文章
    热门文章