Zblog主题自动提取文章第一张图片否则随机调用自定义图片的方法

搬瓦工机场JMS

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

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

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

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

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}<img src="{$temp}" />

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

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}

然后找到:

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

修改为:

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

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

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

未经允许不得转载:搬瓦工VPS_美国VPS » Zblog主题自动提取文章第一张图片否则随机调用自定义图片的方法

赞 (0) 打赏

相关推荐

    暂无内容!

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏