it-swarm-ja.com

キューに入れられてもjQuery.accordionは関数ではありません

私たちのクライアントのためにjQueryアコーディオンを実装しようとしています。基本的には、これがこのチュートリアルです( http://wp.tutsplus.com/tutorials/creative-coding/create-an-faq-accordion-for-wordpress-with-jquery-ui/ )jQueryのエンキューに問題があります。

基本的に、これはチュートリアルからアコーディオンスクリプトをエンキューしようとしているコードです: -

add_action( 'wp_enqueue_scripts', 'fl_enqueue' );

function fl_enqueue() {
        wp_register_style('fl-jquery-ui-style', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/themes/south-street/jquery-ui.css');
        wp_enqueue_style('fl-jquery-ui-style');
        wp_register_script('fl-custom-js', get_template_directory_uri() . '/faq/faq.js', 'jquery-ui-accordion', '', true);
        wp_enqueue_script('fl-custom-js');
}

Firebugでページをロードすると、TypeError:jQuery(...)というエラーが発生します。アコーディオンは関数ではありません。私はまた、アコーディオンの台本がキューに入れられているのを見ることができないようです。しかし、faq.js ISがロードされています(これはアコーディオンスクリプトの依存関係なので、奇妙だと思います)。

これに困惑している、何か考え?

1
Rhys Wynne

wp_register_script()の呼び出しの3番目のパラメータは、文字列ではなく依存関係の配列である必要があります。

これを変更してください。

wp_register_script('fl-custom-js', get_template_directory_uri() . '/faq/faq.js', 'jquery-ui-accordion', '', true);

に:

wp_register_script('fl-custom-js', get_template_directory_uri() . '/faq/faq.js', array('jquery-ui-accordion'), '', true);

1
WP Themes