用wordpress的朋友应该在首页的循环显示文章处有文章图片缩略图吧?一般都是用wordpress的特色图片或者文章第一个图片作为缩略图,有些人也是用的一些设置好的图片随机显示的。
可是想想,如果文章里面的第一张图片有1M多的话,那么首页也就会显示1M多的图片,反而让用户加载更多大图片增加网站加载速度
wordpress在上传图片的时候制定了3种图片大小,第一种是150x150 ,第二种是中等大小,第三种是原图
我们恰好可以使用150x150的图片来设置缩略图
修改后的代码:
function thumb_img($soContent){ $soImages = '~<img [^>]* />~'; preg_match_all($soImages, $soContent, $thePics); $allPics = count($thePics[0]); if ($allPics > 0) { //改进代码 先填写自己网站路径 bloginfo('url') 是输出并不是一个变量 $url = "https://www.balrogsxt.com"; echo "<span id='thumb'>"; //用正则表达式判断图片路径是否是域名下的,因为可能存在一些外链图片,毕竟外链图片一般不存在150x150大小的图片 if(preg_match("/".$url."/",$thePics[0][0])){ //不仅要判断是否是域名下面的图片,还要判断该图片是否已经是小图片了 if(preg_match("/-([0-9]+)x([0-9]+).(jpg|png|gif|bmp)/",$thePics[0][0])){ //正则表达式替换图片路径 echo preg_replace("/-([0-9]+)x([0-9]+).(jpg|png|gif|bmp)/","_150x150.$3",$thePics[0][0]); }else{ echo preg_replace("/.(jpg|png|gif|bmp)/","_150x150.$1",$thePics[0][0]); } }else{ echo $thePics[0][0]; } echo '</span>'; } else { echo "<span id='thumb'>"; echo "<img src='"; echo get_xtinfo('url'); echo "images/blog/index-default.jpg'></span>"; } }
OK,就这么简单,如果你不嫌wp 150x150的图片不完整的话可以使用哦~
如果不在意这个图片大小的话就可以不用了~
0条评论登录后可见