问题描述
我在WordPress网站上不断遇到一些错误。
我非常确定.live不是函数,因为它在页面上查找的类不存在。我试图通过FTP修复它,但是注意到Js文件后面有一个版本号。当我通过FTP更新文件时,它没有生效,但仍然引用了具有cmb.js?ver=0.9.1
这样的版本号的文件
关于如何解决此问题的任何想法?
解决方法
$(…).live is not a function
之所以弹出,是因为自WordPress 5.5起,WordPress至少使用jQuery版本1.12.4
。 live()
已在jQuery 1.9
中删除。
您需要改为使用$('body').on('click','.cmb_upload_button',function(){ /*…*/ });
。 (或者其他一些父元素,如果不确定,'body'
只是一个安全的备用)-您可以阅读有关.on()
function
对于文件上的版本查询字符串,这些字符串将添加到wp_enqueue_script()
函数的第4个参数中,该函数将特定资产放入队列。您需要在入队的主题或插件中对其进行更改。
通常,我要做的是在使第三方或图书馆资产入队时,包括我使用的版本:例如1.12.4
。然后,当我升级该资产时,我会将其更新到该版本。 但是,当我加入自定义资产时,通常会使用文件的filemtime()
,因此它始终是我最近更改的最新缓存副本:>
wp_enqueue_script( 'custom-script',site_url( 'assets/js/custom-script.js' ),[],filemtime( '/absolute/path/to/js/custom-script.js' ),true );