2013-03-19 67 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'));