Z-BlogPHP文章无图时列表随机显示默认图片

 2022-09-27    6801  

zblogphp主题对于文章列表缩略图的调用一般大致分为三种:

1、自动提取文章中的第一张图片作为缩略图,文章无图时调用主题自带的默认图片随机显示;

2、自动提取文章中的第一张图片作为缩略图,文章无图时不显示图片;

3、用户自定义缩略图(非自定义摘要)。

Z-BlogPHP文章无图时列表随机显示默认图片

恩,好像就这三种用的比较多,其他的方法未知,好像也没其他的可能了吧,至于用户自定义文章摘要的用法不在此列。

使用方法:

{php}
$temp=mt_rand(1,5);
$pattern="/<img[^>]*src=\"([^\"]+\.(gif|jpg|png))\"[^>]*>/";
$content = $article->Content;
preg_match_all($pattern,$content,$matchContent);
if(isset($matchContent[1][0]))
$temp=$matchContent[1][0];
else
$temp=$zbp->host."zb_users/theme/$theme/style/img/$temp.jpg";
{/php}

把这段代码加到列表摘要模板中,在以上代码中,先是定义了一个1到5的变量,然后判断了如果文章没有缩略图的时候,就随机调用主题目录/style/img文件中的5张图片(当然了,图片目录/图片数量/随机显示的图片数量等,可按需要自行修改)

图片调用代码:

<img scr="{$temp}" /><!--官方介绍的调用文章缩略图的调用标签-->

以上的调用文章图片为缩略图的方法稍微有点麻烦,要在不同页面都调用文章缩略图的时候,就必须将调用代码都写一遍,这大大加大了代码量,这个时候我们可以将以上代码写入主题根目录的include.php中(如果没有这个php文件,可以自己新建一个),给以上代码定义一个方法,在不同类型的页面时直接调用此方法就可以了。

//缩略图调用
function lingruofeng_imagesl($related) {
    global $zbp;
 $temp=mt_rand(1,5);
 $pattern="/<[img|IMG].*?src=[\'|\"](.*?(?:[\.gif|\.jpg|\.png]))[\'|\"].*?[\/]?>/";
 $content = $related->Content;
 preg_match_all($pattern,$content,$matchContent);
 if(isset($matchContent[1][0])){
  $thumb=$matchContent[1][0];
 }else{
  $thumb=$zbp->host . "zb_users/theme/" .$zbp->theme. "/images/" .$temp. ".jpg";
 }
    return $thumb;
}

好了,教程完毕,是不是很简单呢,赶紧去试试吧!

分享到:

本文链接:https://blog.lingruofeng.com/seo/25.html

版权声明:本站部分素材来自网络整理,如侵犯了您的合法权益,请联系我们删除!