禁用WordPress5.5图片延迟加载功能
WordPress 5.5除了不断优化修改区块编辑器之外,还增加了几个新功能,其中的图片延迟加载功能,经本人测试,除了在火狐下有效果,在Chromium内核的浏览器中无效,难道是开发人员也和我一样只用火狐?还是我操作的姿势不对?既然无效,可以通过add_filter过滤器禁用这个功能。
全局禁用图片延迟加载
将下面代码添加到当前主题函数模板functions.php中即可。
add_filter( 'wp_lazy_loading_enabled', '__return_false' );
只禁用特定标签的图片延迟加载
add_filter( 'wp_lazy_loading_enabled', function( $default, $tag_name, $context ){ if ( 'img' === $tag_name && 'the_content' === $context ){ return false; } return $default; }, 10, 3 );
其中:
- $default:布尔默认值 true
- $tag_name:要延迟加载的元素的标记名称。
- $context:指定图像上下文的可选参数。
禁止特色图片延迟加载
add_filter( 'wp_img_tag_add_loading_attr', function( $value, $image, $context ){ if ( 'the_content' === $context ){ $image_url = wp_get_attachment_image_url( 67, 'medium' ); if ( false !== strpos( $image, ' src="' . $image_url . '"' ) ) { return false; } } return $value; }, 10, 3 );
如果使用wp_get_attachment_image,只需将图像的属性值设置为 :loading false
echo wp_get_attachment_image( 67, 'medium', false, array( 'loading' => false ), )
代码出自:https://kinsta.com/blog/wordpress-5-5/
也可以安装禁用延迟加载的插件:Disable Lazy Loading
貌似这个延迟加载功能来自这个官方维护的插件:Lazy Loading Feature Plugin