-
投稿者投稿
-
2021年1月28日 4:43 PM #66576
【お使いの Snow Monkey のバージョン】12.2.2
いつもお世話になっております。
jqueryファイルについてです。以前は、以下のコードを追加して読み込めていたのですが、少し前から動作しなくなり、以下のエラーが出るようになりました。Jqueryは目次に「表示」「非表示」の切り替えを実装する内容です。
(ファイルの場所)themes/snow-monkey-child/assets/js/toc.js(追加していたコード)
add_action( 'wp_enqueue_scripts', function() { // jQuery プラグインを実行させるコードを記述するための js ファイル wp_enqueue_script( get_stylesheet(), get_theme_file_uri( '/assets/js/toc.js' ), [ get_template() ], false, true ); } );
(エラーメッセージ)
Uncaught ReferenceError: jQuery is not defined
そこで、色々と調べて
別のbodyタグの下部でJqueryを読み込ませる以下のコードを追加したところ、動作するようになりました。
body内で読み込ませることなく、以前のように動作させる方法があれば、教えていただけませんでしょうか。
(追加したコード)// body の一番下に独自のタグを追加 function my_js_function() { echo <<< EOM //script コード <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> EOM; } add_action( 'wp_footer', 'my_js_function' );
どうぞよろしくお願いいたします。
♥ 0いいねをした人: 居ません2021年1月28日 4:54 PM #66580こんにちは
wp_enqueue_script の第3引数で、依存するスクリプトを指定してみてはどうでしょうか?
[ get_template() ],
→array( 'jquery' ),
♥ 2いいねをした人: 居ません2021年1月28日 5:00 PM #66581あと、第1引数はスクリプトのハンドル名を指定することになっているので
get_stylesheet(),
ではなく、何か適当な'script-name'
例えば'toc-js'
とかに変更しておくといいですよ。♥ 1いいねをした人: 居ません2021年1月28日 7:48 PM #66595まーちゅうさん
ありがとうございます。
ご教示いただいた変更で、動作するようになりました!すみません、コードの知識があまりないのですが、以下の記載でよかったでしょうか。
add_action( 'wp_enqueue_scripts', function() { // jQuery プラグインを実行させるコードを記述するための js ファイル wp_enqueue_script( 'toc-js', get_theme_file_uri( '/assets/js/toc.js' ), array( 'jquery' ), false, true ); } );
♥ 0いいねをした人: 居ません2021年1月28日 10:47 PM #66610はい。それで大丈夫です。
wp_enqueue_script
については、私が説明するよりもCodexを見てもらった方がいいと思うので、詳しい情報については 関数リファレンス/wp enqueue script を見てください。2021年1月29日 7:00 AM #66617まーちゅうさん
とても勉強になりました。ご丁寧な説明に感謝いたします。♥ 1いいねをした人: 居ません -
投稿者投稿
- トピック「jqueryファイルの読み込みについて」には新しい返信をつけることはできません。