看到很多人在网上说 jQuery lazyload 插件没效果,看了下插件主页说要把图片的地址写入 data-original 属性,loading 图片地址写入 URL 属性就能实现真正图片稍后载入(lazyload)。
如果每张图片都这么改,非常不方便,并且图片在 Feed 中也无法查看,那么我们可以通过 WordPress 强大的 filter Hook,用正则表达式重组一下 img 标签就行了。于是花了点时间写了个貌似很强大代码:
代码语言:javascript复制add_filter ('the_content', 'lazyload');
function lazyload($content) {
if(!is_feed()||!is_robots) {
$content=preg_replace('/<img(. )src=['"]([^'"] )['"](.*)>/i',"<img$1data-original="$2" src="loading1.gif"$3>n<noscript>$0</noscript>",$content);
}
return $content;
}
把这段代码扔到当前主题的 functions.php
中,再把 loading1.gif 这个图片地址换成你的 loading 图片地址。再按潜行者m的这篇文章配置下站点的 jQuery 就搞定了。