陈德馨

Z-blog文章摘要提取文章第一张图片否则随机调用自定义图片

720人参与 |分类: 站长百科|时间:2016年03月18日 15:22

自从Z-blog推出了PHP版本之后,很多原来WordPress阵营的博友也转战到了Z-blog了,陈德馨也一直在考虑中,毕竟WordPress有很多我不习惯的地方,比如上传一张图片就会占用一个文章ID,导致文章ID不连续的问题,玩博客的人都是爱折腾的人,所以我已经在本地测试Z-blog的PHP版本了,之所以还没有正式迁移,是因为现在还没有找到一套自己比较满意的主题模板,自己也在尝试修改一些比较中意的模板,以备正式迁移本站数据。

今天在折腾一套主题的时候,发现这套主题的文章摘要是没有图片的,就算文章正文有图片,也是不调用的,所以就想着怎么折腾一下,让主题实现自动提取文章第一张图片,没有图片的情况下就随机调用自定义图片。

还是以默认主题(default)为例吧!修改的文件为:zb_users\theme\default\template\post-multi.php

在zblog wiki中可以查找到“随机获得文章中的四张图片中的一张“,所需代码如下:

{php}
$temp=mt_rand(1,4);
$pattern="/<[img|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/images/random/$temp.jpg";
//需要在当前使用的主题style下放置4张jpg的文件,名称为1,2,3,4
{/php}
<img src="{$temp}" />

用编辑器打开post-multi.php,在代码前添加:

{php}
$temp=mt_rand(1,4);
$pattern="/<[img|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/images/random/$temp.jpg";
//需要在当前使用的主题style下放置4张jpg的文件,名称为1,2,3,4
{/php}

然后找到:

<div class="post-body">{$article.Intro}</div>

修改为:

<div class="post-body"><img src="{$temp}" />{$article.Intro}</div>

最后记得找4张JPG的图,放到主题文件夹下的style文件夹里面,并命名为1.jpg!

如果想放5张或者6张可以把$temp=mt_rand(1,4); 中的4改为对应的数字!

来源:陈德馨博客(微信/QQ号:35435164),转载请保留出处和链接!

地址:

必填

选填

选填

◎已有 0 人评论,请发表您的观点。