@catcut

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

wordpress(lightning)にswiper.jsを読み込めない。

解決したいこと

wordpress(lightning)にswiper.jsを読み込んで、スライドを実装したいです。なぜかエラーが出てしまうため、解決方法を教えていただきたいです。

発生している問題・エラー

ReferenceError: jQuary is not defined

または、問題・エラーが起きている画像をここにドラッグアンドドロップ

該当するソースコード

カスタムHTML内記載のjavascrptのコードです

  <script>
          jQuary (function(){
  const mySwiper = new Swiper('.swiper', {
    // Optional parameters
    loop: true,
    centeredSlides: true,
    slidesPerView: 1,
                breakpoints: {
                    // スライドの表示枚数:500px以上の場合
                    600: {
                    slidesPerView: 2,
                    },
                    1024: {
                    slidesPerView: 3,
                },

             },
  
    // If we need pagination
    pagination: {
      el: '.swiper-pagination',
    },
  
    // Navigation arrows
    navigation: {
      nextEl: '.swiper-button-next',
      prevEl: '.swiper-button-prev',
    }
  });
});

        </script>
header.php
<link
  rel="stylesheet"
  href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css"
/>
</head>
footer.php
<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
</body>

自分で試したこと

①header.phpにswiper.jsのcssを読み込む、
②footer.phpにjavascriptを読み込む
③固定ページのカスタムhtmlにてhtmlとcss,javascriptを記述。

①②は上記で貼り付けたコード以外はいじっていません。

また、lightningのheader.php/footer.phpそれぞれg2,g3といくつか合ったので、全てに記載しているのですが、それが間違っているのでしょうか?
https://tamatuf.net/wordpress/wordpress-swiper/
↑の記事を参考にしました。

ご回答いただけますと幸いです。よろしくお願いいたします。

0 likes

2Answer

ReferenceError: jQuary is not defined

これが全ての答えなのですから、エラーメッセージを検索し、先に試すなりなさってください。

HTML内でスクリプトが書かれている・読み込まれる順番は非常に重要で、カスタムHTMLと呼ばれているコードがjQuaryを読み込まれる前に挿入されたか、そもそもテーマがjQuaryを呼び出してない(or 必要としてない)かのどちらかで未定義と成ってる可能性が高いです。

現状WPがどういうソースコードを書き出しているかを確認する必要があります。ブラウザのページソースの表示してその順番を確認します。

SwiperはjQueryに非依存なので逆でも構いませんが、以下は<head></head>内に順番に納めておくのがベストです。

CSS系

jQuery

Swiper

これらが常に上位であれば、任意のコードは何処にでも挿入してもかまいません。

カスタムHTMLがよくわかりませんが、テーマによってコードが挿入される位置も変わってきますのでここでは何とも言えません。

参考にしている記事ですが、「</body>タグの直前に記入する」とありますが、公式のマニュアルにはそんなこと何処にも書かれてません。一応jQueryを介すので問題は無いですが、そもそも読み込みの順位を守ればjQueryのコードは不要です。
何か違和感があると思ったら(比較のために)2サイトぐらいを参考にするか、そもそも公式ページをしっかり確認するべきです。


先ほども書きましたがテーマによってコードが挿入される位置が変わるので、変え方についてはご自身で解決なさってください。私からは以上です。

2Like

Comments

  1. @catcut

    Questioner

    ありがとうございます!なんとか解決できました。
    ご丁寧にありがとうございましたm(__)m

lightningというテーマを使用したことがないので見当違いの回答になるかもしれませんが、私の場合は以前bxSliderというスライダーライブラリを使用しようとした際に質問者様と似たような状況になりました。

その際の原因はWordPress本体または使用しているプラグインの jQueryの ver でした。
jQueryの ver を変更することで無事に機能するようになりましたので、もしかしたら質問者様のケースもそれが原因かもしれません。

取り急ぎ調べた参考記事を添付しておきます。

参考になりますと幸いです。

1Like

Comments

  1. @catcut

    Questioner

    ご丁寧にありがとうございます!なんとか教えていただいた記事で解決できました!ありがとうございました!

Your answer might help someone💌