如何移除WordPress主题中的min.css?ver=参数?
解决WP Rocket缓存CSS链接的ver参数移除问题
问题分析
你使用WP Rocket插件时,收到PageSpeed Insights提示「减少未使用的CSS,可节省29 KiB」,想要移除缓存CSS链接中的ver参数(示例链接:https://example.com/wp-content/cache/background-css/example.com/wp-content/cache/min/1/wp-content/themes/voice/assets/css/min.css?ver=1714725364&wpr_t=1714736992),但你尝试的代码未生效。原因是原代码仅移除ver值等于主题版本号的情况,而WP Rocket生成的ver是时间戳,和主题版本不匹配,导致判断条件无法触发。
修正后的代码
下面提供两种解决方案,按需选择:
方案1:移除所有样式与脚本的ver参数
如果不需要区分资源类型,直接移除所有带ver参数的资源链接:
function remove_ver_query_arg( $src ) { if ( strpos( $src, 'ver=' ) ) { $src = remove_query_arg( 'ver', $src ); } return $src; } add_filter( 'script_loader_src', 'remove_ver_query_arg' ); add_filter( 'style_loader_src', 'remove_ver_query_arg' );
方案2:仅针对WP Rocket缓存的CSS文件移除ver参数
若只想处理WP Rocket生成的缓存CSS,避免影响其他资源:
function remove_wprocket_css_ver( $src ) { // 匹配WP Rocket缓存路径的特征 if ( strpos( $src, 'cache/min/' ) !== false || strpos( $src, 'background-css/' ) !== false ) { $src = remove_query_arg( 'ver', $src ); } return $src; } add_filter( 'style_loader_src', 'remove_wprocket_css_ver' );
注意事项
- 修改代码后,务必清空WP Rocket缓存和浏览器缓存,刷新页面查看效果。
- 移除
ver参数后,浏览器会基于文件内容缓存资源,只要文件内容不变就会持续使用缓存。后续更新主题或插件时,需要手动清空缓存,确保用户获取最新资源。
内容的提问来源于stack exchange,提问作者Yingab
相关产品推荐
相关产品推荐

