zblogPHP如何获取随机文章

admini5个月前zblog教程155

在Z-BlogPHP程序开发中,需要给站点添加一个获取随机文章功能,很多人会用下面这样的代码:

{php}$order = array('rand()'=>'');$where = array(array('=','log_Status','0'));$array = $zbp->GetArticleList(array('*'),$where,$order,array(10),'');{/php}{foreach $array as $related}<li><a href="{$related.Url}">{$related.Title}</a></li>{/foreach}

然而这并不是一个好的方法,因为如果你网站的文章数达到一定的数量之后,那么这段代码将直接让你的网站面临崩溃的风险!

因为它太占用服务器资源了!假如当你网站达到几十万文章的时候,再去随机取文章,会很容易崩溃,耗费服务区资源,同时网站也会容易打不开。这也是为什么ZBlog官方不建议大家使用随机文章模块的一个原因!

那么有什么好的办法呢?其实现在有了一个很好的解决方案,我们直接放弃使用上面的代码,而采用以下的代码来获取随机文章:

$count = 10;  //随机文章数量$articles = $zbp->GetArticleList('*',null,array(mt_rand(0,1)?'log_ViewNums':'log_PostTime'=>mt_rand(0,1)?'DESC':'ASC'),100);//这里的100是获取的文章是数量,可根据你要获取的随机文章数量来决定这个值的大小shuffle($articles);$posts = count($articles) > $count ? array_chunk($articles,$count)[0] : $articles;foreach ($posts as $post){   echo $post->Title;}

这段代码的含义就是随机使用文章时间或者文章访问量排序,获取100篇文章,然后打乱再获取,这样就可以节省服务区资源了。


相关文章

zblogPHP时间友好化代码

zblog大多主题的文章时间显示格式一般为“X年X月X日”(我习惯使用这样的格式,一般不用xxx天前这样的时间,这跟个人喜好有关),而经常逛博客的朋友会发现有些博客网站的文章中的文章发表时间的格式根据...

zblogPHP如何统计文章字数

在Z-Blog程序中如果想要统计文章的字数在前端页面显示,其实有两种方法可行:一种就是直接走正常的PHP语言的模式,可以细分为三个小步骤实现,它与下面一种方法想必是稍显麻烦一点,所以我们不用它!另一种...

zblogPHP如何获取当前页面的URL链接地址

在我们开发Z-Blog主题或插件时,一般情况下很少会去获取zblogPHP当前页面的URL,但是少并不代表用不到!大家都知道,要想开发zblog主题或者插件,我们必须需要先学会php语言,在PHP中,...

zblog控制列表页文章摘要和控制摘要字数的代码

使用zblog的站长都知道,一般文章列表页都会在文章标题的下方调用到文章的摘要,以便让布局显得更加充实,对SEO优化也有一定的帮助,那么,这样的摘要是怎样调用到的呢?摘要显示的字数该怎样控制呢?其实,...

zblogPHP如何修改图片上传路径

有些童鞋想要修改zblog程序的图片上传路径,上传图片的默认路径一般是如下:https://www.xxxxxx.com.cn/wp-content/uploads/2022/06/202206***...

zblogPHP程序如何判断页面类型

在Z-Blog主题开发中,我们首先要做的就是在template/index.php中进行页面的判断,即,判断当页面为首页时要调用哪个模板文件,为分类页、标签页、文章页、独立页面和日期页时各要调用哪个页...