あくまで自分用の覚え書きなので文章とか適当です...

ダウンロード

https://www.jsdelivr.com/package/npm/swiper

以下を使用する

  • swiper-bundle.min.js
  • swiper-bundle.min.css

spaceBetween問題

メモ:WordPressblock編集でうまく効かないのでitemを入れ子にして外側にpadding追加、内側にborderをつけて対処。(アイテムに影がある場合もこれ)

<div class="wp-block-group js-hm-xxx-slider hm-xxx-slider swiper">

    <div class="wp-block-group hm-xxx-slider__item swiper-slide">

        <div class="wp-block-group hm-xxx-slider__item-inner">
            <figure class="wp-block-image hm-xxx-slider__item-thumb"><img src="xxx.png" alt="" class=""></figure>
            <p class="hm-xxx-slider__item-text"><a href="">text</a></p>
        </div>
        <div class="wp-block-group hm-xxx-slider__item-inner">
            <figure class="wp-block-image hm-xxx-slider__item-thumb"><img src="xxx.png" alt="" class=""></figure>
            <p class="hm-xxx-slider__item-text"><a href="">text</a></p>
        </div>
        <div class="wp-block-group hm-xxx-slider__item-inner">
            <figure class="wp-block-image hm-xxx-slider__item-thumb"><img src="xxx.png" alt="" class=""></figure>
            <p class="hm-xxx-slider__item-text"><a href="">text</a></p>
        </div>

    </div>

</div>

ついでにストレッチリンク

        a {
            text-decoration: none;

            &::after {
                position: absolute;
                inset: 0;
                z-index: -1; //これが無いと編集画面でテキストが編集できない
                content: "";
            }
        }

navigationとpagenationをスライドの外に出す

function initHmEconomicalTicketsSlider() {
  const el = document.querySelector(".js-hm-slider");
  if (!el) return;

  // ✅ IMPORTANTE:
  // el tiene que ser el contenedor ".swiper".
  // Si el NO es ".swiper", busca el ".swiper" dentro.
  const swiperEl = el.classList.contains("swiper")
    ? el
    : el.querySelector(".swiper");
  if (!swiperEl) return;

  // wrapper externo (afuera del overflow:hidden)
  const wrapper = swiperEl.parentElement;
  wrapper.style.position = wrapper.style.position || "relative"; //←CSSで入れてもOK

  // crear botones afuera del swiper
  const prev = document.createElement("div");
  prev.className = "swiper-button-prev";

  const next = document.createElement("div");
  next.className = "swiper-button-next";

  const pagination = document.createElement("div");
  pagination.className = "swiper-pagination";

  wrapper.appendChild(prev);
  wrapper.appendChild(next);
  wrapper.appendChild(pagination);

  new Swiper(swiperEl, {
    loop: true,
    // autoHeight: true,
    breakpoints: {
      1000: { slidesPerView: 2 },
    },
    navigation: {
      prevEl: prev,
      nextEl: next,
    },
    pagination: {
      el: pagination,
      clickable: true,
    },
  });
}

フェードインアウトモード

breakpointはダイナミックに切り替わらないので注意

var xxx = new Swiper("#js-slider", {
  effect: 'fade',
  fadeEffect: {
    crossFade: true
  },

スポンサーリンク
WooCommerce対応 ネットショップ向けWordPressテーマ「Japacart ジャパカート」日本語に対応