随机显示文章
在functions.php加入
function theme_random_posts($limit = 10){ $defaults = array( 'number' => $limit, 'before' => '<ul class="list">', 'after' => '</ul>', 'xformat' => '<li><a href="{permalink}" title="{title}">{title}</a></li>' ); $db = Typecho_Db::get(); $sql = $db->select()->from('table.contents') ->where('status = ?','publish') ->where('type = ?', 'post') ->where('created <= unix_timestamp(now())', 'post') //添加这一句避免未达到时间的文章提前曝光 ->limit($defaults['number']) ->order('RAND()'); $result = $db->fetchAll($sql); echo $defaults['before']; foreach($result as $val){ $val = Typecho_Widget::widget('Widget_Abstract_Contents')->filter($val); echo str_replace(array('{permalink}', '{title}'),array($val['permalink'], $val['title']), $defaults['xformat']); } echo $defaults['after']; }
在模板中调用:
<?php theme_random_posts('10');?>
评论已关闭