这个随机文章函数的好处就是不光兼容mysql
还兼容sqlite
数据库。
操作步骤
- 将下方随机文章代码加到主题文件夹function.php里面,保存
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.'';
}
}
}
- 在需要添加随机文章的地方加上以下代码(去掉@),保存后刷新即可。
<@?php getRandomPosts(10);?>
更详细的文档请查阅下方内容
© 版权声明
文章版权归作者所有,未经允许请勿转载。