用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条评论登录后可见