禁用WordPress5.5图片延迟加载功能

quality,Q 70

1638606561 20211204082921 61ab26e15e478

WordPress 5.5除了不断优化修改区块编辑器之外,还增加了几个新功能,其中的图片延迟加载功能,经本人测试,除了在火狐下有效果,在Chromium内核的浏览器中无效,难道是开发人员也和我一样只用火狐?还是我操作的姿势不对?既然无效,可以通过add_filter过滤器禁用这个功能。

1638606561 20211204082921 61ab26e168265

禁用 WordPress 5.5 图片延迟加载功能

全局禁用图片延迟加载

将下面代码添加到当前主题函数模板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

类似文章