1、将下面的代码添加至主题的functions.php文件:
function getRandomPosts($limit = 10){
$db = Typecho_Db::get();
$result = $db->fetchAll($db->select()->from('table.contents')
->where('status = ?','publish')
->where('type = ?', 'post')
->where('created <= unix_timestamp(now())', 'post')
->limit($limit)
->order('RAND()')
);
if($result){
$i=1;
foreach($result as $val){
if($i<=3){
$var = ' class="red"';
}else{
$var = '';
}
$val = Typecho_Widget::widget('Widget_Abstract_Contents')->push($val);
$post_title = htmlspecialchars($val['title']);
$permalink = $val['permalink'];
echo '<li><i'.$var.'>'. '</i><a href="'.$permalink.'" title="'.$post_title.'" target="_blank">'.$post_title.'</a></li></br>';
$i++;
}
}
}
2、在要显示随机文章的地方添加以下调用代码
<?php getRandomPosts('10');?>
10
代表随机调用 10 篇文章,可以在需要的位置调用,例如博主就在主题目录下的 footer.php
文件中加入了如下代码:
...
</br>
<h2> 推荐阅读 </h2>
</br>
<?php getRandomPosts('5');?
...
这样就实现了在文章结束之后随机推荐五篇文章,效果如下:
喜欢的话可以试试哟,本文核心内容来自 Typecho随机文章的调用方法代码
Author: Frytea
Title: Typecho 调取随机文章
Link: https://cloud.tencent.com/developer/article/1662754
Copyright: This work by TL-Song is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.