WordPress用jquery.lazyload.js实现图片延迟加载

新版 jquery.lazyload.js 插件,要求必须给图片地址添加一个data-original属性,

<img class=”lazy” data-original=”img/example.jpg” width=”640″ height=”480″>

这样才能启用延迟加载。说明请到官网查看:Lazy Load Plugin for jQuery

具体实现方法:

一、添加必要的JS文件

首先下载相关JS文件,并放到主题“js”文件夹中

jquery.lazyload.js下载地址:http://pan.baidu.com/s/1c0lGqq8

将下面代码添加到主题头部header.php模板中:

<script src=”<?php echo get_template_directory_uri(); ?>/js/jquery.min.js” type=”text/javascript”></script>

<script src=”<?php echo get_template_directory_uri(); ?>/js/jquery.lazyload.min.js” type=”text/javascript”></script>

<script type=”text/javascript”>

$(function() {

$(“img”).lazyload({

effect:”fadeIn”

});

});

</script>

二、为图片自动添加 data-original 属性

按官网的要求插入图片时必须添加一个data-original属性,手动添加很麻烦,还好有人已提供自动为图片添加data-original 属性的方法,将下面代码添加到主题 functions.php 中:

add_filter (‘the_content’, ‘lazyload’);

function lazyload($content) {

$loadimg_url=get_bloginfo(‘template_directory’).’/img/loading.gif’;

if(!is_feed()||!is_robots) {

$content=preg_replace(‘/<img(.+)src=[\'”]([^\'”]+)[\'”](.*)>/i’,”<img\$1data-original=\”\$2\” src=\”$loadimg_url\”\$3> <noscript>\$0</noscript>”,$content);

}

return $content;

}

将一张加载动画图片放到主题图片文件夹img中

另外,Wordpress头像延迟加载,可以用下面的代码:

<?php echo ‘<img class=”avatar” src=”‘ . get_bloginfo(‘template_directory’) . ‘/img/loading.gif” alt=”avatar” data-original=”‘ . preg_replace(array(‘/^.+(src=)(\”|\’)/i’, ‘/(\”|\’)\sclass=(\”|\’).+$/i’), array(”, ”), get_avatar( $comment, ’64’ )) . ‘” />’; ?>

替换gravatar头像调用标准函数:

<?php echo get_avatar( $comment, ’32’ ); ?>

也同样可以实现Wordpress头像延迟加载。

优点:只有浏览到图片位置时才加载图片,可以提高多图片页面的加载速度,减轻服务器负担。

缺点:可能会影响到搜索引擎对图片的收录,还有就是部分浏览器打开页面会出现空白。

未经允许不得转载:爱前端网 » WordPress用jquery.lazyload.js实现图片延迟加载

赞 (0) 打赏


觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏