它说的是从一个一致的url提供资源

sg24os4d  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(305)

我的wordpress站点有一个问题,当我用gtmetrix测试时,它说的是从一个一致的url提供资源。它显示了我使用了两个css文件,一个扩展名为.css,另一个扩展名为.css?ver=4.9.8。正确的是第一个style.css。我不知道另一个是从哪里来的。据我所知,我没有用过任何地方。我试过根据google的建议从管理面板中取消激活一些插件,比如cache。但它不起作用。https://gtmetrix.com/reports/pentaworkspace.com/z0ra5dhp
有人能帮我吗?

mec1mxoz

mec1mxoz1#

这个css文件当然是按主题排队的。代码应该在附近 function.php 或相关文件。尝试搜索 wp_enqueue_script ,并查找作为参数传递的有问题的脚本名称。
url中的version参数用于清除浏览器缓存:如果文件已更新,但url未更改:浏览器将继续使用其缓存的版本,并且不会显示更新。正在更新此 ver 参数将强制浏览器再次下载并缓存该文件。
您可以使用这样一个代码段来删除这些参数(现在您已经知道它们为什么出现在这里,以及它会生成什么情况):

function remove_wp_assets_qvar( $src ) {
    $src = preg_replace_callback( '/ver=[^&]*/', __NAMESPACE__ . '\\removeVersionCallback', $src );
    if ( strpos( $src, 'ver=' ) ) {
        $src = remove_query_arg( 'ver', $src );
    }

    return $src;
}

add_filter( 'style_loader_src', __NAMESPACE__ . '\\remove_wp_assets_qvar', 9999 );
add_filter( 'script_loader_src', __NAMESPACE__ . '\\remove_wp_assets_qvar', 9999 );

信息:现在,许多资产管道(webpack,gulp…)正在生成“版本化”的构建文件,文件名中有一个唯一的散列,以防止浏览器缓存“问题”。

相关问题