我在javascript文件中的更改未反映在我的插件中

时间:2016-04-30 05:39:54

标签: javascript php jquery wordpress wordpress-plugin

我在Javascript文件中进行了更改。尝试禁用插件/重新激活/删除javascript文件并重新上传,但似乎没有根据我的新javascript代码上传页面。

最后我进入了查看源代码,发现脚本src设置为"wp-content/plugins/my-plugin/js/my-plugin.js?ver=4.3.1"

如果我在浏览器中输入此URL,我会收回旧代码。但是,如果我在末尾?ver=4.3.1删除查询字符串,则会加载我的新文件代码。

我不确定是谁添加了ver=4.3.1。我的插件代码中没有它。有人可以告诉我如何删除这个并请求我最新的JavaScript代码?现在已经超过一个小时,我无法解决这个问题。

非常感谢!

2 个答案:

答案 0 :(得分:0)

这是因为WordPress缓存了您的JavaScript文件。要摆脱每次运行WordPress时更改的缓存问题集版本属性。我通常使用时间函数

wp_enqueue_script( 'handle', 'src', array() , time() );

答案 1 :(得分:0)

我想,你的插件中使用了wp_enqueue_script函数来加载这个javascript文件。

  

wp_enqueue_script string $ handle,string $ src = false,$ deps = array(), $ ver = false ,$ in_footer = false

基于documentation $ ver 作为可选参数:

  

(string | bool | null)(可选)指定脚本版本号的字符串,   如果它有一个,作为缓存的查询字符串添加到URL   破坏目的。我 f版本设置为false,版本号是   自动添加等于当前安装的WordPress版本。如果   设置为null,不添加任何版本。

     

默认值:false

自动添加字符串“ver = 4.3.1”,因为您没有在函数调用中指定$ ver变量。所以问题出在您的浏览器中,因为它加载了缓存版本。

作为快速解决方案,如果您的插件尚未投放,您只需删除浏览器的缓存即可。但是这个解决方案并没有帮助那些没有删除缓存的用户。

如果您将源代码中的“ver = 4.3.1”字符串更改为其他内容,则您的浏览器将加载新版本的javascript文件。您可以通过修改wp_enqueue_script调用来完成此操作。例如:

wp_enqueue_script( "my_plugin_js_handle", "path_to_js_file", array(), "1.2.3" );
  • my_plugin_js_handle 字符串替换为您选择的唯一句柄。
  • path_to_js_file 替换为您的js文件的网址
  • 1.2.3 替换为插件的实际版本号。