TYPECHO 随机文章调用的实现可以有三种方法,第一种方法就是最简单的,使用插件,可以参考:Typecho 随机文章列表插件RandomArticleList ;第二种方法就是上篇文章所说的,如何为 Typecho 网站实现随机文章列表? 通过更改TYPECHO系统源码实现随机文章的调用;第三种方法就是本篇文章要讲述的方法,通过修改 TYPECHO 的主题文件的 function.php 文件来实现调用网站的随机文章列表。
操作方法:
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.'</i><a href="'.$permalink.'" title="'.$post_title.'" target="_blank">'.$post_title.'</a></li>';
$i++;
}
}
}
2、在要显示随机文章的地方添加以下调用代码,比如要在侧边栏显示随机文章,一般是添加到主题的sidebar.php文件,当然不同的文章模板可能不一样,请根据自己的模板添加。
<?php getRandomPosts('10');?>
代码中的10是要显示的文章数量。