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

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

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

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

禁用 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

原创文章,作者:知更鸟,如若转载,请注明出处:https://www.davidwu.net/archives/63690

发表评论

电子邮件地址不会被公开。 必填项已用*标注