0

initのカスタムWordPressプラグインでjqueryを使用すると、次のエラーが発生しますType Error: $.effects.effect is undefined。もう1つの問題:ライブイベントが無視され、取得して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' )
        ) );
4

1 に答える 1

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'));
于 2013-03-19T19:37:42.447 に答える