wordpress教程

关闭WordPress 5.5图片延迟加载功能

精准像素 2020-10-02 人阅读

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