提供zblog模板_zblog主题_wordpress模板的下载和定制

zblogphp获取多个分类的文章并按照指定需求排序(最新 热门 热评)

天兴工作室 2016-04-18 15:18 zblogphp教程 9127 2 评论


此文转载自鸟儿博客,原文地址:http://www.birdol.com/zblogjiaocheng/792.html

由于這个方法太好用,而鸟儿写的又太过于简洁了。。。所以重新整理了下发出来,希望能帮助到有需要的朋友。

下面是一个封装好的函数,复制代码粘贴到你正在使用的主题的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=按照浏览数量排序;

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


没有找到能解决你问题的教程?

您可以试着搜索一下或者直接在线提问。我们也提供收费技术支持,有需要可以在线联系我们。

在线提问 在线客服

2 位网友评论:

  • dafuli

    dafuli 7年前 (2017-01-13) 回复

    foreach ($zbp-˃categorys[$cateid]-˃SubCategorys as $subcate) 这段代码我网站报错,怎么破?同主机2个站 一个正常,一个错误!正常站:系统环境 Linux; Apache; PHP 5.6.29 x64; mysqli; curl报错站:系统环境 Linux; Apache; PHP 5.6.29 x64; pdo_mysql; curl

  • 细雨

    细雨 8年前 (2016-04-18) 回复

    多谢天兴的进一步详细介绍,鸟哥写的看了,不会用。而你介绍的所有教程,都比较容易让我们新手接受学习!

欢迎 发表评论: 取消回复

请填写验证码
  • 最新文章
  • 热文排行
  • 最多评论
标签聚合
  • 登 录
  • 注册账号 忘记密码?
  • 注 册
  • 已有账号?直接登录 忘记密码?
  • 社交账号登录