web-dev-qa-db-ja.com

Wordpressは今すぐJQueryをロードしませんか?JQueryもエンキューする必要がありますか?

私のHTMLでは、JQueryをロードしていましたが、HTMLをWordpressに変換するときはロードしていません WPは自動的にロードすると思うからです。

しかし、jsフォルダの中にcustom.jsがあるので、これをロードしようとしています→

if ( ! function_exists( 'Puck_scripts' ) ) {
function Puck_scripts() {

// Register the script like this for a theme:
    wp_register_script( 'custom-js', get_template_directory_uri() . '/js/custom.js', array( 'jquery' ), '1.1', true );
    wp_enqueue_script( 'custom-js' );       
}

    add_action('wp_enqueue_scripts','Puck_scripts');
    }

JQueryがロードされていないためにcustom.jsが機能しない可能性がありますJJをテーマfunctions.phpに個別にロードする必要がありますか?しかし、私はどこかでWP load JQueryを読んだと思います。あるいは私が疑っているのは、JQueryがcustom.jsより前にロードされていないことです。たぶん私は自分のやり方がわからない何かの関数を介して何かを宣言する必要があります。

1時間経ったので、何が悪いのかわかりませんでした。

1
The WP Novice

あなたの問題は、あなたがjQueryのWordPressバージョンが互換性モードにあるのでデフォルトでは働かない通常のjQueryショートカット($)を使用しようとしているということです。次に示すように、jQueryを$にマッピングするには、custom.jsファイル内のコードを無名関数でラップする必要があります。

(function($) {

    //Your code here

})( jQuery );

あるいは、「$」のすべてのインスタンスを「jQuery」に置き換えます。

2
Erbilacx