Zblogphp获取多个分类的文章并按照指定需求排序
时间:2022年04月02日
/来源:网络
/编辑:佚名
zblogphp 分类,Zblog php获取多个分类的文章并按照指定需求排序
ZblogPHP在1.8版本的时候想要调用多个分类的文章,并且按照自己的需求去排序是很简单的事情,很多博友也利用这个方法进行最新文章排行、热门评论文章排行等等操作,现在随着ZblogPHP版本的升级,已经封装了数据库语句,导致直接使用SQL进行查询会被鄙视,官方的说法是这种方法会加重服务器的负载,执行效率很低。
之前写过一个方法,确实很好用,但是真的写的很简洁,对于不是很熟悉Zblog的博友来说一般看不懂。所以今天陈德馨直接分享一下具体的操作过程。
下面是一个封装好的函数,复制代码粘贴到你正在使用的主题的include.php里面:
代码如下:function ChenDeXin_GetArticleCategorys($Rows,$CategoryID,$hassubcate){undefined
global $zbp;
$ids = strpos($CategoryID,',') !== false ? explode(',',$CategoryID) : array($CategoryID);
$wherearray=array();
foreach ($ids as $cateid){undefined
if (!$hassubcate) {undefined
$wherearray[]=array('log_CateID',$cateid);
}else{undefined
$wherearray[] = array('log_CateID', $cateid);
foreach ($zbp->categorys[$cateid]->SubCategorys as $subcate) {undefined
$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}
{$related.Title}
{/foreach}
使用说明:
使用方法中第一行代码中的四个阿拉伯数字,10代表调用的文章数量,“1,2,3”代表所调用的栏目ID(多个ID之间用,号隔开即可)。
我们还可以修改函数中的“array('log_PostTime'=>'DESC');”其中:
log_PostTime=按照时间排序;
log_CommNums=按照评论数量排序;
log_ViewNums=按照浏览数量排序;
就这样完全可以根据自己的需要玩出不同的花样来!
- 178Moban源码谈谈免费源码与收费源码的区别
- 2帝国CMS忘记后台登陆用户名、密码、认证码的解决方法
- 3帝国CMS(EmpireCMS) v7.5后台任意代码执行漏洞及具体修复方法
- 4帝国CMS和WordPress 哪个好?哪个适合建站?
- 5如何解决Discuz的密码错误次数过多请15分钟后登陆的问题
- 6帝国cms灵动标签取得内容和栏目链接地址
- 7emlog pro 注册码“开心”教程(如果有一天,emlog官方版 或者 emlog免费版 跑路了,那用户怎么办?)
- 8织梦CMS在nginx下设置伪静态方法(附nginx伪静态规则)
- 9帝国cms后台登录出现”您还未登录”怎么解决?
- 10帝国cms7.5忘记登录密码 和忘记登录认证码以及多次登录 失败被锁定解决办法