Zblog获得多个分类的文章并按指定需求排序的代码 根据需要玩出不同花样

搬瓦工机场JMS

zblog PHP想要调用多个分类的文章,并且按照自己的需求去排序是很简单的事情,很多博友也利用这个方法进行最新文章排行、热门评论文章排行等等操作,现在随着ZblogPHP版本的升级,已经封装了数据库语句,导致直接使用SQL进行查询会被鄙视,官方的说法是这种方法会加重服务器的负载,执行效率很低。

鸟儿博客之前写过一个方法,确实很好用,但是鸟儿真的写的很简洁,对于不是很熟悉Zblog的博友来说一般看不懂。今天VPS全科网直接分享一下具体的操作过程。

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

代码如下:

functiON ChenDeXin_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=ChenDeXin_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=按照浏览数量排序;

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

未经允许不得转载:搬瓦工VPS_美国VPS » Zblog获得多个分类的文章并按指定需求排序的代码 根据需要玩出不同花样

赞 (0) 打赏

相关推荐

    暂无内容!

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏