正常情况下,比较常用的是调用某一个指定分类的文章,并按照最新、热门、热评排列;这篇文章介绍了调用多个分类的文章,并按照最新、热门、热评顺序排列的方法及代码。
下面是一个封装好的函数,复制代码粘贴到你正在使用的主题的include.php里面,并把主题ID修改成自己的。
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(8,'6,7,9',true) as $related} <li><a href="{$related.Url}" target="_blank">{$related.Title}</a></li> {/foreach}
使用的方法:
代码第一行:8代表调用的文章数量,6、7、9代表所调用的分类ID。
倒数第三行:“array('log_PostTime'=>'DESC');”可以自定义
log_PostTime=最新发布排序;
log_CommNums=热门评论排序;
log_ViewNums=浏览次数排序;
以上代码既好用,又简洁,感谢鸟儿博客的无私分享。
此文转载,原文地址:http://www.birdol.com/zblogjiaocheng/792.html