对于旧的Wordpress插件,我需要一个较旧的jQuery版本。
所以我想我可以从Wordpress取消注册预先注册的jQuery,并从Google CDN注册一个库。
在functions.php文件中,我添加了这些行:
add_action( 'admin_enqueue_scripts', 'new_jquery_enque_func' );
function new_jquery_enque_func()
{
wp_deregister_script('jquery');
wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.3/jquery.min.js', false);
wp_enqueue_script('jquery');
}
当我重新加载WP-Admin页面时,我在多个文件中得到了许多错误:
Uncaught ReferenceError: jQuery is not defined
我该怎么做才能让它正常工作?
答案 0 :(得分:0)
答案 1 :(得分:0)
你不应该使用另一个jQuery库。 WordPress中的jQuery库加载到No Conflict mode中,以防止您可能正在使用的其他库出现问题。
因此,默认情况下,您应使用jQuery
代替$
。 WordPress插件也在其代码中使用jQuery
。取消注册WordPress jQuery将导致错误:
未捕获的ReferenceError:未定义jQuery
如果您仍想在jQuery代码中使用$
,可以使用noConflict Wrappers,如:
jQuery(document).ready(function($) {
// use $() inside!
});
WordPress仪表板依赖于内置的jQuery版本。如果你真的想要改变jQuery,你可以使用类似的东西来改变你的主题:
if( ! is_admin() ){
add_action( 'admin_enqueue_scripts', 'new_jquery_enque_func' );
function new_jquery_enque_func()
{
wp_deregister_script('jquery');
wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js', false);
wp_enqueue_script('jquery');
}
}
我可能还会补充说jQuery 1.7.3
不存在。但jQuery 1.7.2
存在,除非您与jQuery UI 1.7.3