以下是一个用于 WordPress 的图片懒加载插件代码示例,能提升网页加载速度:
<?php
/*
Plugin Name: Image Lazy Load Plugin
Plugin URI: http://yourpluginuri.com
Description: Enables lazy loading for images to improve page speed.
Version: 1.0
Author: Your Name
Author URI: http://yourauthoruri.com
License: GPLv2 or later
Text Domain: image-lazy-load
*/
if (!defined(‘ABSPATH’)) {
exit;
}
// 添加懒加载属性到图片标签
function add_lazy_load_attr($content) {
if (!is_feed() &&!is_admin()) {
$content = preg_replace_callback(
‘/<img([^>]+)src=”([^”]+)”/i’,
function ($matches) {
return ‘<img’. $matches[1].’src=”data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7″‘
.’data-src=”‘. $matches[2]. ‘” loading=”lazy”‘;
},
$content
);
}
return $content;
}
add_filter(‘the_content’, ‘add_lazy_load_attr’);
// 为特色图片也添加懒加载属性
function add_lazy_load_to_featured_images($html, $post_id, $post_thumbnail_id, $size, $attr) {
if (!is_feed() &&!is_admin()) {
$html = preg_replace(
‘/src=”([^”]+)”/i’,
‘src=”data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7″ data-src=”$1″ loading=”lazy”‘,
$html
);
}
return $html;
}
add_filter(‘post_thumbnail_html’, ‘add_lazy_load_to_featured_images’, 10, 5);
代码说明:
核心懒加载功能:在 add_lazy_load_attr 函数里,利用正则表达式匹配文章内容中的 <img> 标签。非订阅源和非管理页面时,将原 src 替换为一个极小的占位 data:image/gif ,真实 src 存到 data-src ,并添加 loading=”lazy” 属性,让浏览器懒加载图片。
特色图片懒加载: add_lazy_load_to_featured_images 函数针对特色图片。在获取特色图片 HTML 时,同样替换 src 、添加 data-src 与 loading=”lazy” ,通过挂钩 post_thumbnail_html 过滤器实现,确保整个网站图片懒加载优化,加速页面渲染,提升用户体验。
使用方法与之前插件类似,放入插件目录激活,无需复杂配置即可生效,能显著改善网页性能。