在我的自定义WordPress插件中使用jquery我得到以下错误Type Error: $.effects.effect is undefined
。另一个问题:现场活动被忽略了,我得到了jQuery(...).live is not a function
。我一直试图在我的插件中加载最新的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 :(得分: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'));