因为这个主题的原作者没有直接提供在主界面的缩略图功能,所以我就准备自己写了。
效果如下
## 接下来是具体操作:
在functions.php文件中添加这么一个函数:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| function imgs_postthumb($cid) { $db = Typecho_Db::get(); $rs = $db->fetchRow($db->select('table.contents.text') ->from('table.contents') ->where('table.contents.cid=?', $cid) ->order('table.contents.cid', Typecho_Db::SORT_ASC) ->limit(1));
preg_match_all("/\<img.*?src\=\"(.*?)\"[^>]*>/i", $rs['text'], $thumbUrl); $img_src = $thumbUrl[1][0]; $img_counter = count($thumbUrl[0]);
switch ($img_counter > 0) { case $allPics = 1: echo $img_src; break; default: echo theurl.'images/random/deu'.mt_rand(1,7).'.jpg'; break; }; }
|
如果这个函数与functions里的其他函数重名了就直接改一下!
## 然后在index.php文件里找到这一段:
1 2 3 4 5 6 7 8 9 10
| <div class="post-entry"> <div class="feature"> <a href="<?php $this->permalink() ?>"><div class="overlay"><i class="iconfont"></i></div><img src="<?php
echo imgs_postthumb($this->cid);
; ?>"></a> </div>
|
改成我这个样子即可。
需要注意的一点是,这个函数只能识别html格式插入的图片,其他格式暂时无法识别
参考文章:Typecho获取文章第一张图片(缩略图)