在Wordpress中注册旧的jQuery版本时,没有定义jQuery

时间:2013-05-17 09:11:15

标签: jquery wordpress defined

对于旧的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

我该怎么做才能让它正常工作?

2 个答案:

答案 0 :(得分:0)

您的参考网址似乎无法运作..

可能会从服务器中删除,所以最好先试试。

Check

发生错误

查找其他网址或迁移到较新版本 1.9.1

New Version

答案 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

混淆