web-dev-qa-db-ja.com

WP .jsスクリプトファイルがロードされていません

私はあちこちを見ました、そして、私の問題に対する解決策を見つけませんでした。

次のようにしてスクリプトを登録およびエンキューしようとしているfunctions.phpファイルがある子テーマがあります。

function wpb_adding_scripts() {
  wp_register_script('my_scripts', get_stylesheet_directory_uri('js/scripts.js', __FILE__), array('jquery'),'1.1', true);
  wp_enqueue_script('my_scripts');
}
add_action( 'wp_enqueue_scripts', 'wpb_adding_scripts' );

そして、これが私がロードしようとしているスクリプトです:

$(document).ready(function(){
  alert("test");
})

私は私のscripts.jsがある私の子ディレクトリに "js"フォルダがあることを確認しました。

しかし、何らかの理由で、これは私のために働いていません。

誰か考えがありましたか?

どうぞよろしくお願いします。

1
Serge Inácio

コーデックスによると、 get_stylesheet_directory_uri() は末尾のスラッシュを含みません。そのため、次のように使用します。

function wpb_adding_scripts() {
  wp_register_script('my_scripts', get_stylesheet_directory_uri().'/js/scripts.js', array('jquery'),'1.1', true);
  wp_enqueue_script('my_scripts');
}
add_action( 'wp_enqueue_scripts', 'wpb_adding_scripts' );

更新

スクリプトでjQueryを使用したい場合は、次のいずれかの方法でそれを実行する必要があります。

  1. 競合を避けるために$の代わりにjQueryを使用してください。
  2. 自己起動関数を作成し、それに$を渡します。

この例を見てください。

(function($){
    $(document).ready(function(){
      alert("test");
    })
})(jQuery);
3
Jack Johansson