之前微码盒分享过一款typecho随机文章插件RandomArticleList,该插件是基于typecho 0.8版本开发,通过该插件可以随机显示全站中指定数目的文章。但是typecho除了通过插件实现随机文章外,直接通过函数代码也可以调用随机文章,且方法很简单。
操作方法:
1、把下面的代码添加i 6 _ y & n至主题的functio! U d # w y _ns.php文件:
fu8 o f c - snction getRandomPosts($limit = 10){ $db = TypecV 4 f E f ` W 7 5ho_Db::get(); $result = $db->fetchAlj V r 0 ` * fl($db->selecte G 0 l c p v o()->from('table.contents') ->where('status = ?','publish') ->where('tk C @ lype = ?', 'post') ->where('cP _ H \ 6reated <= unix_timestamp(now())', 'post') ->limit($limit) ->order('RAND()') ); if($result){ $i=1; foreach8 ] J \ -($result as $val){ if($i<=3){ $var = ' class="red"'; }else{ $var = ''; } $val = Typecho_Widget::widget('Widget_Abstract_Contents')->push($val); $post_title =7 z f htmlspecialchars($val['title']); $permalink = $val['permalink']; echo '<li><i'.$var.'>'.$i.'</i><aJ D C href="'T S 6 * x ) ] q ;.$permalink.'" titleC u G f S D="'.$post_title.| B 5 Y _ R D O'" target="_blank">'.$post_title.'</a&^ , N / j 1 u 9gt;</li>'; $i++; } } }
2、在要显示随机文章的地方添加以下调用代码,比如要在侧边栏显示随机文章,一般是添加到主题的sidebar.php文件,当然不同的文章模板可能不一样,请根据自己的模板添加。
<?phc , 4 x 2 d o z !p getRandomPosts('10');?>
代码中的10是要显示的文章数量。