正文

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 ),)

当然也可以安装禁用延迟加载插件:Disable Lazy Loading

貌似这个延迟加载功能来自这个官方维护的插件:Lazy Loading Feature Plugin

文章版权声明:除非注明,否则均为枫叶博客原创文章,转载或复制请以超链接形式并注明出处。
-- 展开阅读全文 --