如何从静态资源中删除查询字符串

时间:2016-02-06 作者:Qasim Khan

任何知道移除的专家Remove Query Strings From Static Resources 插件?它不起作用了。

此外,我还尝试在中编写此代码function.php 我的主题文件

function _remove_script_version( $src ){
$parts = explode( \'?\', $src );
return $parts[0];
}
add_filter( \'script_loader_src\', \'_remove_script_version\', 15, 1 );
add_filter( \'style_loader_src\', \'_remove_script_version\', 15, 1 );
这对我来说也不管用。

我还取消选中了中的“在设置更改后阻止在设置更改后缓存对象”W3 Total Cache, 但我还是得到了同样的结果GTMetrix.

有人能帮我吗?我正在使用Twenty Twelve 主题我也在其他主题中尝试过同样的技巧。

以下是消息表单GTMetrix的屏幕截图:screen shot of problem

3 个回复
SO网友:CodyA

看起来您正在使用JetPack的Photon,它将查询字符串添加到您的URL中。根据这条线索,没有办法移除它们https://wordpress.org/support/topic/how-to-remove-photon-query-string?replies=2

如果您想删除查询字符串,我建议停用光子,使用不添加查询字符串的CDN,并使用您提到的代码段:

function _remove_script_version( $src ){
$parts = explode( \'?ver\', $src );
return $parts[0];
}
add_filter( \'script_loader_src\', \'_remove_script_version\', 15, 1 );
add_filter( \'style_loader_src\', \'_remove_script_version\', 15, 1 );

SO网友:Mark Kaplun

删除查询字符串是个坏主意,因为这是破坏缓存的最佳方法。

嗯,也许我应该换个说法。对于简单的wordpress站点来说,实现一个url方案的成本太高,该方案将“隐藏”参数,同时仍然允许您破坏缓存。理论上你可以做到,但实际上我从来没见过有人做过。

SO网友:Ethan O\'Sullivan

如所述Mark Kaplun, 有时查询字符串对于网站是必要的。在这种情况下?w= 查询设置图像大小。

如果仍要删除这些查询,请在functions.php:

add_filter( \'script_loader_src\', \'wpse_216912_remove_query\' );
add_filter( \'style_loader_src\', \'wpse_216912_remove_query\' );

function wpse_216912_remove_query( $src ) { // Remove query strings from static resources also jetpack query
   if ( strpos( $src, \'?ver=\' ) || strpos( $src, \'&ver=\' ) || strpos( $src, \'?w=\') || strpos( $src, \'?a600e5\')  ) {
        $src = remove_query_arg( array( \'ver\', \'w\', \'a600e5\' ), $src );
    }
    return $src;
}

相关推荐