之前博客吧分享过一款typecho随机文章插件RandomArticleList,该插件是基于typecho 0.8版本开发,通过该插件可以随机显示全站中指定数目的文章。但是typecho除了通过插件实现随机文章外,直接通过函数代码也可以调用随机文章,且方法很简单。
操作方法:
1、把下面的代码添加至主题的functions.php文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | 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文件,当然不同的文章模板可能不一样,请根据自己的模板添加。
1 | <?php getRandomPosts('10');?> |
代码中的10是要显示的文章数量。