You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress是否默认启用fetchpriority属性?如何移除?

关于自动出现的fetchpriority属性及移除方法

来源确认

fetchpriority 是WordPress 6.3及以上版本的默认核心特性,它会自动为页面首屏的关键资源(比如首屏图片、核心脚本)添加该属性,目的是告诉浏览器优先加载这些资源,提升首屏渲染速度。

你看到的这个属性并非Elementor或WP Rocket主动添加的,但这两个插件可能会间接触发WordPress的这个逻辑(比如Elementor生成首屏图片时,会被WP核心的资源检测机制识别为关键资源)。WP Rocket确实没有专门的开关控制这个属性,因为它属于WP原生功能。

移除方法(通过钩子实现)

你可以通过WordPress的钩子来移除这个属性,以下是几种常用场景的实现代码:

1. 移除所有图片的fetchpriority属性

将以下代码添加到主题的functions.php文件,或者自定义功能插件中:

// 禁用所有图片的fetchpriority属性
add_filter( 'wp_img_tag_add_fetchpriority_filter', '__return_false' );

2. 针对特定图片移除fetchpriority属性

如果你只想移除部分图片的该属性(比如非首屏图片、特定类的图片),可以写一个自定义判断逻辑:

// 针对特定图片移除fetchpriority属性
function remove_fetchpriority_for_target_images( $add_priority, $image_html, $context ) {
    // 示例:移除带有"non-critical-image"类的图片的属性
    if ( str_contains( $image_html, 'class="non-critical-image"' ) ) {
        return false;
    }
    // 其他情况保留默认逻辑
    return $add_priority;
}
add_filter( 'wp_img_tag_add_fetchpriority_filter', 'remove_fetchpriority_for_target_images', 10, 3 );

3. 移除脚本的fetchpriority属性

如果页面中脚本也被添加了该属性,可通过以下代码移除:

// 移除所有脚本的fetchpriority属性
function remove_script_fetchpriority_attr( $tag, $handle ) {
    // 可选:指定移除某个特定脚本的属性,比如注释掉下面的判断即可针对所有脚本
    // if ( $handle !== 'jquery-core' ) {
    //     return $tag;
    // }
    return str_replace( 'fetchpriority="high"', '', $tag );
}
add_filter( 'script_loader_tag', 'remove_script_fetchpriority_attr', 10, 2 );

注意:不要直接修改WordPress核心文件,所有自定义代码都应放在主题的functions.php或独立的自定义插件中,避免主题更新时丢失代码。

内容的提问来源于stack exchange,提问作者Hasan Opu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 10:42:38