Typecho 顯示隨機文章或日誌的實現方法 代碼版

公元2015年07月31日沒人鳥我喲打醬油看熱鬧的有:1,536 views

Typecho 顯示隨機文章或日誌的實現方法 代碼版

近有點小折騰了,Typecho還是相當不錯的程序,小巧玲瓏,所以在很多功能的實現上就必須自己動手了,下面就分享下文章隨機顯示的函數,懶人可以用插件版,今天分享的是代碼版,傻瓜模式,操作簡單,即插即用,具體代碼如下:

首先在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
26
27
28
29
30
31
32
33
34
function theme_random_posts(){
$defaults = array(
'number' => 8, //輸出文章條數
'before' => '<ul class="list">', // ul選擇器,自行修改
'after' => '</ul>',
'xformat' => '<li><a href="{permalink}">{title}</a></li>'
);
$db = Typecho_Db::get();
$sql = $db->select()->from('table.contents')
 
->where('status = ?','publish')
 
->where('type = ?', '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'];
 
}

然後就是調用函數了,代碼如下

1
<?php theme_random_posts();?>

OK,完畢,用哪插哪,OVER!