2013-03-19 64 views
0

在我的自定义WordPress插件上使用jQuery的初始化我得到以下错误Type Error: $.effects.effect is undefined。另一个问题:现场活动正在被忽略,我得到jQuery(...).live is not a function。我一直试图在我的插件的最新jQuery来加载,但即使这样的问题仍然存在在自定义wordpress插件jQuery的冲突

public function init() 
    { 
     wp_deregister_script('jquery'); 
     wp_register_script('jquery', ("http://code.jquery.com/jquery-1.9.1.js"), false, ''); 
     wp_enqueue_script('jquery-ui-js', 'http://code.jquery.com/ui/1.10.1/jquery-ui.js'); 
     wp_enqueue_script('jquery'); 
     wp_enqueue_script('konfigurator_ajax', plugin_dir_url(__FILE__) . 'config.js', array('jquery')); 
     wp_localize_script('konfigurator_ajax', 'Konfigurator', array(
       'ajaxurl' => admin_url('admin-ajax.php') , 
       'nonce' => wp_create_nonce('konfigurator_ajax-nonce') 
     )); 
+0

嘿FEFE,是你的意思是你的jQuery脚本之前你排队的jQuery UI的脚本? – mrbubbles 2013-03-19 17:02:10

+0

另外,是不是注销jquery一个坏主意 - 它可能会阻止其他插件或主题工作,而您的插件是活动的。 – mrbubbles 2013-03-19 17:10:37

+0

我试图使用最新的jQuery,也许有另一种解决方法来加载最新的jQuery插件 – fefe 2013-03-19 17:42:03

回答

0

我没有看到你的config.js,但我认为它使用jQuery UI的效果。你需要分开注册并为wp_enqueue_script工作排队。另外你的代码是不可WP非标准,即时建议你使用此代码(右安装的WordPress 3.5 +):

public function init() { 
    wp_register_script('konfigurator_ajax', plugin_dir_url(__FILE__) . 'config.js', array('jquery', 'jquery-ui-core', 'jquery-effects-core')); 
    wp_localize_script('konfigurator_ajax', 'Konfigurator', array(
     'ajaxurl' => admin_url('admin-ajax.php') , 
     'nonce' => wp_create_nonce('konfigurator_ajax-nonce') 
    )); 
} 
add_action('admin_init', 'init'); //or if OOP add_action('admin_init', array(&$this, 'init')); 

public function print_scripts() { 
    wp_enqueue_script('jquery-ui-core'); 
    wp_enqueue_script('jquery-effects-core'); 
    wp_enqueue_script('konfigurator_ajax'); 
} 
add_action('admin_print_scripts', 'print_scripts'); //or if OOP add_action('admin_print_scripts', array(&$this, 'print_scripts'));