代码语言:javascript复制
function getRandomPosts($random=5){
$db = Typecho_Db::get();
$adapterName = $db->getAdapterName();//兼容非MySQL数据库
if($adapterName == 'pgsql' || $adapterName == 'Pdo_Pgsql' || $adapterName == 'Pdo_SQLite' || $adapterName == 'SQLite'){
$order_by = 'RANDOM()';
}else{
$order_by = 'RAND()';
}
$sql = $db->select()->from('table.contents')
->where('status = ?','publish')
->where('table.contents.created <= ?', time())
->where('type = ?', 'post')
->limit($random)
->order($order_by);
$result = $db->fetchAll($sql);
if($result){
foreach($result as $val){
$obj = Typecho_Widget::widget('Widget_Abstract_Contents');
$val = $obj->push($val);
$post_title = htmlspecialchars($val['title']);
$permalink = $val['permalink'];
echo ''.$post_title.'';
}
}
}
需要使用时在模板中调用即可,这个随机文章函数的好处就是不光兼容mysql
还兼容sqlite
数据库。
完整使用方法
- 1.将上面完整的随机文章代码丢进主题文件夹的function.php里面,保存;
- 2.在需要添加随机文章的地方加上代码:,保存;
- 3.刷新页面,搞定!