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

如何移除WordPress站点中脚本与样式的type属性?对应代码位置在哪?

移除WordPress中脚本和样式的type属性的方法

你找不到直接的硬编码位置是因为这些type属性是WordPress核心通过动态函数自动添加的,不是写在某个主题文件或者wp_head()的直接输出里。下面是具体的解决思路和实现方法:

核心原理

WordPress的脚本(wp_enqueue_script)和样式(wp_enqueue_style)输出标签时,会通过核心类(WP_Scripts和WP_Styles)自动添加type属性。我们不需要修改核心文件(这会导致更新后失效),而是通过WordPress的钩子来过滤输出的标签,移除这些属性。

具体实现代码

将以下代码添加到你的主题(或子主题)的functions.php文件中:

移除脚本的type="text/javascript"属性

add_filter( 'script_loader_tag', function( $tag ) {
    // 移除单引号和双引号格式的type属性
    return str_replace( "type='text/javascript' ", '', str_replace( 'type="text/javascript" ', '', $tag ) );
} );

移除样式的type="text/css"属性

add_filter( 'style_loader_tag', function( $tag ) {
    // 移除单引号和双引号格式的type属性
    return str_replace( "type='text/css' ", '', str_replace( 'type="text/css" ', '', $tag ) );
} );

关于核心文件的补充说明

如果好奇这些属性是在哪里生成的,可以查看核心文件:

  • 脚本的type属性来自wp-includes/class.wp-scripts.php中的print_script_tag方法
  • 样式的type属性来自wp-includes/class.wp-styles.php中的print_style_tag方法

但绝对不建议直接修改这些核心文件——WordPress更新时会覆盖这些修改,导致你的定制失效,还可能引发兼容性问题。使用钩子是官方推荐的安全定制方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:59:34