2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

WordPressでjQueryが読み込まれない時に見るポイント

Last updated at Posted at 2020-11-07

WordPressでjQueryを読み込んだときに、動かないことがたまにあります。
その際に、見ておくべきポイントを抑えておきましょう!

$を使ってないですか?

静的サイトでjQueryを使用していた方だとこのようにコードを書いているのではないでしょうか?

script.js
$(document).ready(function(){
    ここにjQueryの処理を書く
});

//または

$(function(){
    ここにjQueryの処理を書く
});

ちなみにここで書かれている$(document).ready(function(){ はHTMLの読み込み完了後に処理を実行するという記述になります

でも、実はWordPressでは$を使うと動かない仕様になっています。
WordPressでは他のライブラリも使用しており、jQuery同様に$を使用するものがあるため衝突をさけるために機能しないようにされているようですね。
なので、このように書き換える必要があります。

script.js

jQuery(function(){
    ここにjQueryの処理を書く
});

こちらの記事が勉強になります。
https://www.buildinsider.net/web/jqueryref/067
https://briarpatch.co.jp/wp-jquery

を読み込んでいますか?

こちら、意外と盲点でした。
WordPressでテーマ開発をするときに、意味もわからず、wp_header()wp_footer()を読み込んでいるのですが非常に大切な役割があるので解説していきます。

wp_headerはタグの直前に記述する必要があります。

index.php
<head>
<? php wp_header(); ?>
</head>

ここでは、wp_headerを読み込むと、functions.phpからstyle.cssの情報を呼び出すことができます。

functions.phpへの記載の仕方は下記をみてみてください。
https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/wp_enqueue_style

wp_footer</body>の直下に記載します。

index.php
</body>
<?php wp_footer(); ?>
</html>

wp_header同様にfunctions.phpからscript.jsを読み込むように設定します。

こちら参考サイトです。
https://blog.yuhiisk.com/archive/2016/09/02/js-scripts-in-wp-footer.html

テーマ開発する際には、多くの方がfunctions.phpから読み込むように設定しているかと思います。
なので、wp_footerがないとjsを読み込まれないといった現象が起きるわけですね。

#まとめ
styleやjs読み込まれないと焦りますよね。でも、一つずつ原因を絞っていけば必ず動くようになりますので焦らず取り組んでいきましょう〜!

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?