顶豌 发表于 2025-9-24 12:10:31

Typecho 首页文章随机调用代码分享

前几天博主发问了,“如何让Typecho搭建的网站首页文章随机显示?各位大佬支支招!”,在各大大佬@LiuShen@无名博客@临时访问@​目的地-Destination@Lopwon@的指点下结合AI最终实现了文章随机显示办法。
修改文件地址:主题文件/components/post-list.php
主要修改内容:
改动要点:

[*]增加​$posts = []​数组:用来存放文章对象。
[*]用 ​while ($this->next()) { $posts[] = clone $this; }​收集文章:不直接输出,而是放进数组。
[*]调用 ​shuffle($posts);​ :打乱数组顺序,实现随机化。
[*]用 ​foreach ($posts as $item)​遍历输出:把原来 $this 改成 $item,其它结构(标题、摘要、时间、作者等)保持不变。
原版

原版
<?php while ($this->next()): ?>
    ... 输出文章内容 ...
<?php endwhile; ?>


意思是 按数据库查询结果的顺序(默认按时间倒序)逐篇输出文章。

修改后
<?php
$posts = [];

// 先收集文章
while ($this->next()) {
    $posts[] = clone $this;
}

// 打乱顺序
shuffle($posts);

// 再输出文章
foreach ($posts as $item): ?>
    ... 输出文章内容 ...
<?php endforeach; ?>
欢迎大家来到我的博客「多星宇」www.0731119.xyz),一起交流技术心得,也欢迎在评论区分享你的想法和问题哦!


来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: Typecho 首页文章随机调用代码分享