手动添加WordPress文章图片懒加载(lazyload)

Post Time:2016-08-26 09:42:44 Views:3.16 K

其实很早之前就想加入图片懒加载这个js的,但是因为加进去之后还是没有效果。所以折腾了几次都不行了搁置了,然后今天又拿出来折腾了下才发现原来新版的 jquery.lazyload.js 插件v=1.9.3版本。

要求必须给图片地址添加一个data-original属性,<img class="lazy" data-original="img/example.jpg" width="640" height="480">这样才能启用延迟加载。说明请到官网查看:Lazy Load Plugin for jQuery

具体方法如下:

在主题的header.php文件中引入jquery库和lazyload库或者使用又拍云js加速服务提供的jQuery库:

<script type="text/javascript" src="./jquery1.8.3.js"></script>
<script type="text/javascript" src="./jquery.lazyload.js"></script>

<script type="text/javascript">
$(document).ready(function(){
$("img").lazyload({
effect : "fadeIn"
});
});
</script>

接下来要将正文图片真实地址放在data-origina中,src地址放上我们设置的默认显示的图片。一一修改代码既费时又费力,可以修改functions.php文件,自动替换成我们想要的内容

//图片延迟加载
function lazyload($content) {
$loadimg_url=get_bloginfo('template_directory').'/img/img_loading.gif';
if(!is_feed()||!is_robots) {
$content=preg_replace('/<img(.+)src=[\'"]([^\'"]+)[\'"](.*)>/i',"<img\$1data-original=\"\$2\" src=\"$loadimg_url\"\$3>\n<noscript>\$0</noscript>",$content);
}
return $content;
}
add_filter ('the_content', 'lazyload');

以上总结完毕:部分参考下载jquery_lazyload-1.9.3

Comments: 12
Time: 2016-08-26 20:49:11
一般的博客哪能在乎出这点速度,我感觉都差不多啊.不是很多大图的没什么用
Time: 2016-08-26 23:24:42
@Klose 心理作用是这样的,虽然已上七牛cdn~
Time: 2016-08-26 21:51:47
我还是用插件吧,延迟加载。
Time: 2016-08-26 23:25:20
@灰常记忆 你要知道,我是卖模板对一个功能好过多一个插件~
Time: 2016-08-27 23:23:46
@大雄 了解了,能用代码就不用插件。
Time: 2016-11-16 15:57:52
@大雄 像我这样的小白很看重别人写的主题多了什么什么功能,什么什么特色,就是觉得牛逼
Time: 2016-08-26 23:32:29
不太喜欢这种延迟加载。体验不是太好。
Time: 2016-08-27 09:46:04
@小叶 你想想如果一篇文章有几十张原图的时候,你就或者会觉得好多了。
Time: 2016-08-27 07:27:55
这个逼装得好
Time: 2016-08-27 10:14:57
这回我不折腾了。
Time: 2016-08-29 17:40:05
大雄博客改版了?
Time: 2016-08-29 17:41:52
@王宜楷文集 额~应该吧,或者本来就是这样的~

「人生在世,留句话给我吧」

撰写评论