我们在做zblog php网站的时候,需要调用分类文章进行排序,下面给大家分享,同时调用多个分类文章进行排序的方法。
第一步在主题的功能函数include.php中加入下面代码:
function Nobird_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); } } } $where=array( array('array',$wherearray), array('=','log_Status','0'), ); $order = array('log_PostTime'=>'DESC'); $articles= $zbp->GetArticleList(array('*'),$where,$order,array($Rows),''); return $articles;}
第二步在需要调用的页面插入下面调用函数:
{foreach $array=Nobird_GetArticleCategorys(10,'1,2,3',true) as $related} <li><a href="{$related.Url}" target="_blank">{$related.Title}</a></li> {/foreach}
参数介绍说明:
使用方法中第一行代码中的四个阿拉伯数字,10代表调用的文章数量,“1,2,3”代表所调用的栏目ID(多个ID之间用,号隔开即可)。
我们还可以修改函数中的“array('log_PostTime'=>'DESC');”其中:
log_PostTime=按照时间排序;
log_CommNums=按照评论数量排序;
log_ViewNums=按照浏览数量排序;
我们可以根据自己的需要进行自由组合,实现个性化的调用。