其实是这样的:

鉴于官方是在很少人谈论functions.php,所以自己有必要继续写点什么,造福造福大家。本次实现的功能是:通过创建functions.php里面的新函数以获取文章出现的第一张图片,从而给文章附上缩略图,这样就不用使用到typecho的缩略图插件,因为主题集成了,无需外挂插件。

实现原理:

大致是这样的,文章的ID作为参数传给函数,函数通过正则式匹配获取这个id的文章里面出现的图片标签<img>的src地址,从而获取第一张图片,然后输出即可。

实现代码:

一:我在typocho forum里面参考了一下不知道哪个帖子,随便写了

PHP代码

function img_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("/\]*>/i", $rs['text'], $thumbUrl); //通过正则式获取图片地址 $img_src = $thumbUrl[1][0]; //将赋值给img_src $img_counter = count($thumbUrl[0]); //一个src地址的计数器 switch ($img_counter > 0) { case $allPics = 1: echo $img_src; //当找到一个src地址的时候,输出缩略图 break; default: echo ""; //没找到(默认情况下),不输出任何内容 }; }

二:如何调用代码?在index.php里面相关位置调用函数即可

PHP代码


实现效果:

day26-functions-2.png

 

实现效果图(CSS需自己定义)

转自 http://nornor.net/functions-2-thumbnails.htm

我是在仿一个博客主题时搜索typecho的缩略图偶然发现的,比用插件总是要好的

我已经用上了,见 http://222.121xz.com/

标签: Typecho, 编写主题functions.php, 实现文章缩略图