当前位置:首页 > WordPress > 正文

说说WordPress文章缩略图的那些事、判断文章内是否存在图片

前段时间不少用DUX主题的总是说文章木有缩略图,然后,我只是一句设置一下特色图像打发了,其实特色图像应该就是WordPress的文章缩略图吧,反正设置了就OK。还有机油问我怎么能直接输出文章里的图片(外链),我又懒懒de 把我主题里的缩略图那玩意,给他复制了过去。。。

不过,如果是用来判断是否有图片,应该不算太难,毕竟html中图片一般都是img标签,正则一下,你就知道咯~

匹配Img标签的正则,网上一搜一大堆,就简单拿过来好了(额,其实正则渣路过)

'/<img.*?(?: |\\t|\\r|\\n)?src=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>/sim'

嗯,就这样就可以匹配到文章里的img图片标签了,当然了,如果设置了特色图像,咱也不能宣兵夺主吧,于是还需要简单弄一下WordPress自带的特色图像(缩略图)

自带的缩略图,WordPress自己有相关的函数(post_thumbnail()),就不需要咱自个费心咯

简单把这些东西判断一下,如果有缩略图,就直接用缩略图,没有就选择文章内的第一张图片,嗯,就这样了,把他弄得像样点,放进functions.php里方便使用~

因为是那啥东西(其实小幻也说不清)就注册一下全局变量(小幻只能这样做了)

function xm_thumbnail()
{
 global $post;
 if (has_post_thumbnail()) {
 echo the_post_thumbnail();
 } else {
 $content = $post->post_content;
 preg_match_all('/<img.*?(?: |\\t|\\r|\\n)?src=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>/sim', $content, $str, PREG_PATTERN_ORDER);
 $n = count($str[1]);
 if ($n > 0) {
 echo '<img src="' . $str[1][0] . '" />';
 } else {
 echo '';
 }
 }
}

这是左后弄成的东西,最后else打印是空,当然那是在没有任何图片设定的情况下咯,为空的话,就是默认图片,当然你也可以加上一个img标签自己设定个默认图片,随机的也可以咯,反正自己看着办,此代码自己主题测试正常,不保证百分百可用性,so你懂的,欢迎小白鼠~(最近小幻已经坑害了不少志愿白鼠了)

对了,使用方法也不是直接放进functions.php文件里就完了,还需要修改主题文件,你懂的~

在需要缩略图的地方加上<?php xm_thumbnail() ;?> 就完美搞定 ,当然输出的是全尺寸的,需要修改尺寸,啥的还是基于这个的基础上改改吧。

这应该是最近发的最后一篇文章了了吧,军训开始,高中开始,也没时间折腾博客了,最后一个缩略图折腾,就这些了。。大神勿喷。。。坑爹的学校才放两天假。。以后更是没有假期,坑啊。。。

有什么问题,下方评论吧,肯定不会经常回复,毕竟手机电量是个问题

标签:
上一篇: 下一篇:

5 条评论

评论加载中...
  1. 4楼
    来自天朝的朋友 火狐浏览器5.0 Windows 7
    凭祥  

    好细心啊。腻害!

    2015年10月8日 17:07 评论
  2. 地板
    来自天朝的朋友 谷歌浏览器 Windows 10
    qkwu  

    我就看看

    2015年9月27日 10:12 评论
  3. 我的网站就是,换了新的主题后,就没有自动识别缩略图好难看,抽时间好好研究下。

    2015年9月14日 11:05 评论
  4. 沙发
    来自天朝的朋友 火狐浏览器 Windows 10
    ExplorePress  

    打错字了,ing标签。

    2015年9月4日 00:51 评论
    • 小幻  

      看的好仔细,军训训的,打字都不会了。。。。

      2015年9月4日 08:24 评论

发表评论

不理你。不要啊!吃饭。吃惊。吃西瓜。飞吻!恭喜!Hi纠结!膜拜!OK抛媚眼。泡泡糖。抛钱。忍!生闷气!调皮。偷看。委屈。献花。疑问?抓狂!

小提示:Ctrl+Enter快速提交助您一臂之力~
加载中……