自定义脚本文件入队在加载时具有“?ver=4.5.1”且不更新

时间:2016-05-05 作者:frshjb373

我正在使用排队加载自定义脚本文件,下面是输出:

<script type=\'text/javascript\' src=\'.../wp-content/themes/enfold-child/js/custom_script.js?ver=4.5.1\'></script>

奇怪的是,为什么它会在末尾附加“?ver=4.5.1”。当我在控制台中删除文件时,可以很好地加载,但当它存在时,可以加载空白文件。不确定这是缓存还是我应该以其他方式加载。这是我的排队代码:

add_action(\'wp_enqueue_scripts\',\'enqueue_our_required_stylesheets\');

function my_scripts_method() {
    wp_enqueue_script(
        \'custom-script\',
        get_stylesheet_directory_uri() . \'/js/custom_script.js\',
        array( \'jquery\' )
    );
}

add_action( \'wp_enqueue_scripts\', \'my_scripts_method\' );

2 个回复
最合适的回答,由SO网友:Jarod Thornton 整理而成

我同意马克·卡普伦的说法——不过你所描述的是一种奇怪的行为。尝试使用此标记覆盖$ver 参数。

wp_enqueue_script( \'script\', get_template_directory_uri() . \'/js/script.js\', array ( \'jquery\' ), null, true);

https://developer.wordpress.org/themes/basics/including-css-javascript/

或者,要解决版本缓存问题,请尝试此标记,它将在每次页面加载时生成唯一的版本。

wp_enqueue_script( \'script\', get_template_directory_uri() . \'/js/script.js\', array ( \'jquery\' ), rand(1, 100), true);

SO网友:Mark Kaplun

当您将脚本/css排入队列时,您应该始终为它们指定版本号,否则当您在服务器上更改它们时,它们可能不会为用户更改,因为中间的某个缓存代理会缓存它并继续为其提供服务。

如果没有指定,wordpress会将其自己的版本号作为ver 参数,但坦率地说,在我看来,这种行为更多的是一个bug,而不是一个特性,因为显然wordpress升级几乎从不与您在JS/CSS中所做的更改保持一致。

相关推荐