Typecho调用文章第一张图作为缩略图以及随机缩略图调用

如今我们博客主题都比较喜欢自带缩略图的那种,单纯的文件文章列表不是那么流行。如果在制作Typecho模板主题的时候,如何调用Typecho缩略图呢?常规是这样设置的,直接自定义一个图片作为缩略图,但是这样的办法会比较麻烦,每次都需要单独做一张图。其次就是直接调用文章中的图片作为缩略图,但是有些文章没有图就没有办法显示出来。

那最为常规的办法就是如果文章中有图片的就以第一张图片作为缩略图,如果没有图片就直接以默认的随机图片作为缩略图显示,这样就更加省心。

第一、脚本内容

function thumb($cid) {
if (empty($imgurl)) {
$rand_num = 10; //随机图片数量,根据图片目录中图片实际数量设置
if ($rand_num == 0) {
$imgurl = "随机图片存放目录/0.jpg";
//如果$rand_num = 0,则显示默认图片,须命名为"0.jpg",注意是绝对地址
}else{
$imgurl = "随机图片存放目录/".rand(1,$rand_num).".jpg";
//随机图片,须按"1.jpg","2.jpg","3.jpg"...的顺序命名,注意是绝对地址
}
}
$db = Typecho_Db::get();
$rs = $db->fetchRow($db->select('table.contents.text')
->from('table.contents')
->where('table.contents.type = ?', 'attachment')
->where('table.contents.parent= ?', $cid)
->order('table.contents.cid', Typecho_Db::SORT_ASC)
->limit(1));
$img = unserialize($rs['text']);
if (empty($img)){
echo $imgurl;
}
else{
echo '你的博客地址'.$img['path'];
}
}

 

根据上面的内容自己修改。然后将代码添加到当前主题Functions.php 文件中。

第二、调用代码

<?php echo thumb($this->cid); ?>

 

在模板缩略图位置调用即可。

posted @ 2022-11-25 11:14  asqq8  阅读(116)  评论(0编辑  收藏  举报