Typecho调用文章第一张图为缩略图教程

LinSan2019年03月23日typecho, ,
6条 902次

最近许童鞋联系我,问我主题做好了没,才想起有个半成品没做完。赶紧打开我的tp站,以默认主题为模版进行修改移植,目前为止,已经完成了70%吧,算是很欣慰的,能按时完成定制。

废话不多说,主题制作过程中想到继续沿用缩略图这个功能,但是php程序比asp要简单,不需要插件实现,可以直接使用相关函数代码。百度了下,发现“老蒋部落”的文章很合我胃口:传送门

Typecho调用文章第一张图为缩略图教程

虽然很直白,但是用起来还是需要写技术,我这里重新总结下方法:

  1. function thumb($cid) {
  2.   if (emptyempty($imgurl)) {
  3.     $rand_num = 9; //随机图片数量,根据图片目录中图片实际数量设置
  4.       if ($rand_num == 0) {
  5.         $imgurl = "/usr/themes/simpage/random/0.jpg";
  6.         //如果$rand_num = 0,则显示默认图片,须命名为"0.jpg",注意是绝对地址
  7.       }else{
  8.         $imgurl = "/usr/themes/simpage/random/".rand(1,$rand_num).".jpg";
  9.         //随机图片,须按"1.jpg","2.jpg","3.jpg"...的顺序命名,注意是绝对地址
  10.       }
  11.     }
  12.   $db = Typecho_Db::get();
  13.   $rs = $db->fetchRow($db->select('table.contents.text')
  14.   ->from('table.contents')
  15.   ->where('table.contents.type = ?', 'attachment')
  16.   ->where('table.contents.parent= ?', $cid)
  17.   ->order('table.contents.cid', Typecho_Db::SORT_ASC)
  18.   ->limit(1));
  19.   $img = unserialize($rs['text']);
  20.   if (emptyempty($img)){
  21.     echo $imgurl;
  22.     }
  23.   else{
  24.     echo ''.$img['path'];
  25.   }
  26. }

使用上面的代码,添加到主题的 functions.php 中,建议添加到所有函数的最下面。将 simpage 修改成你自己的主题目录名称即可。最后那段 echo ''.$img['path']; 中的连续单引号里面可以填写绝对地址,林三这里留空则显示相对地址,显示的是图片的地址。

最后调用这段代码来使用缩略图:<?php echo thumb($this->cid); ?> ,这代码只负责显示缩略图的地址,需要加上图片标签<img src="图片地址" />来显示图片,祝你好运!欢迎留言。

PS:tp定制移植演示网站地址为 https://tp.maosay.com 欢迎参观交流~

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

目前评论:6   其中:访客  4   博主  2

    • avatar 荆棘谷的青山 0

      大佬,话说图片长宽如何定义? :?:

        • avatar LinSan Admin

          这是通过css来写的,不需要通过函数。也可以直接写到html代码中哟。

        • avatar 佐语先森 3

          林老师是准备一网打尽哇。

          • avatar 青山 3

            这款主题也好喜欢,有没有wp版的呢

              • avatar LinSan Admin

                以后会有,愿望要一个一个的实现嘛~

            发表评论

            :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: