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

WordPress移除静态资源查询字符串代码放置位置咨询

关于WordPress移除查询字符串的问题解答

嘿,我来帮你捋清楚这个问题~

一、代码放在functions.php的位置

其实只要代码放在<?php起始标签之后,且本身没有语法错误,放在文件顶部或末尾都能正常运行。不过更稳妥的建议是放在文件末尾:

  • 避免和主题开头的初始化代码(比如主题设置、常量定义)产生冲突
  • 方便后续自己查找和修改这段自定义代码

二、你当前代码的核心问题

你现在的代码只处理了脚本(script_loader_src)和样式(style_loader_src)的?ver查询字符串,但你提到问题集中在图片上——这段代码根本没对图片URL做任何处理!这就是你修改多次却没效果的原因。

三、针对图片的解决方案

要移除图片的查询字符串,需要添加专门针对图片的过滤规则。把下面的代码和你原来的代码合并,一起放在functions.php末尾即可:

// 移除脚本和样式的?ver查询字符串
function rm_query_string( $src ) { 
    $parts = explode( '?ver', $src ); 
    return $parts[0]; 
}
if ( !is_admin() ) { 
    add_filter( 'script_loader_src', 'rm_query_string', 15, 1 ); 
    add_filter( 'style_loader_src', 'rm_query_string', 15, 1 ); 
}

// 移除后台附件图片URL的查询字符串
function rm_image_query_string($url) {
    if (strpos($url, '?') !== false) {
        $url = preg_replace('/\?.*/', '', $url);
    }
    return $url;
}
add_filter('wp_get_attachment_url', 'rm_image_query_string', 10, 1);
add_filter('wp_get_attachment_image_src', 'rm_image_query_string', 10, 1);

// 移除文章内容中直接插入的图片URL查询字符串
function rm_content_image_query_string($content) {
    return preg_replace('/(src="[^"]+)\?[^"]*"/', '$1"', $content);
}
add_filter('the_content', 'rm_content_image_query_string', 10, 1);

四、重要提醒

  • 修改functions.php前一定要备份文件,避免语法错误导致网站无法访问
  • 如果你用的是子主题,务必修改子主题的functions.php,不要改父主题的,否则主题更新后你的修改会丢失

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:15:27