前段时间不少用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() ;?> 就完美搞定 ,当然输出的是全尺寸的,需要修改尺寸,啥的还是基于这个的基础上改改吧。
这应该是最近发的最后一篇文章了了吧,军训开始,高中开始,也没时间折腾博客了,最后一个缩略图折腾,就这些了。。大神勿喷。。。坑爹的学校才放两天假。。以后更是没有假期,坑啊。。。
有什么问题,下方评论吧,肯定不会经常回复,毕竟手机电量是个问题
873082 669376Really informative post. Your current Internet site style is awesome as well! 347712
2018年8月19日 08:07155166 25379You completed quite a few good points there. I did a search on the concern and found practically all individuals will have the same opinion with your blog. 405168
2018年8月18日 07:23184000 597874A weblog like yours need to be earning much money from adsense..-., 926955
2018年8月14日 16:58好细心啊。腻害!
2015年10月8日 17:07我就看看
2015年9月27日 10:12我的网站就是,换了新的主题后,就没有自动识别缩略图好难看,抽时间好好研究下。
2015年9月14日 11:05打错字了,ing标签。
2015年9月4日 00:51看的好仔细,军训训的,打字都不会了。。。。
2015年9月4日 08:24