最近访客
百度未收录

WordPress图片延迟加载功能实现

WordPress图片延迟加载功能实现-狐狸库
WordPress

之前《jQuery实现图片延迟加载》一文的方法,其实图片并未真正实现延迟加载,只是在窗口滚动到图片位置时才显示图片而已,是个假像。目前这个图片延迟加载插件 jquery.lazyload.js已更新,最新版本是1.9.3,并给出真正实现图片延迟加载的方法。

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

<img class=\"lazy\" data-original=\"https://img.huliku.com/pic/example.jpg\" width=\"640\" height=\"480\">

有占位图的写法:

<img class=\"lazy\" src=\"https://img.huliku.com/pic/lazy.gif\" data-original=\"https://img.huliku.com/pic/example.jpg\" width=\"640\" height=\"480\">

这样才能启用延迟加载。

具体实现方法:

一、添加必要的JS文件

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

将下面代码添加到主题头部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\').\'https://img.huliku.com/pic/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;
}

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

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

展开代码 展开收缩

<?php echo \'<img class=\"avatar\" src=\"\' . get_bloginfo(\'template_directory\') . \'https://img.huliku.com/pic/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头像延迟加载。

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

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

具体效果看下页的图片延迟加载演示:   文件下载

相关js文件

温馨提示: 本文最后更新于2022/10/20 04:30:10。若文章内容或图片失效,请 留言联系站长反馈!
!
也想出现在这里? 联系我们
创意广告
© 版权声明
THE END
点赞0赞赏 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容