参考:https://digipress.info/tech/introducing-swiper-js/

サムネイル付き:https://web改善事例.com/js-swiper-sample/

オプション設定:https://garigaricode.com/swiper/

jQueryに依存しないJavaScriptスライダーライブラリ「Swiper.js」

下記は基本のスライド設定


headに直リンクのライブラリを読み込み。上がCSS、下がJavaScript。

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.0.7/css/swiper.min.css" />

<script src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.0.7/js/swiper.min.js"></script>


【 HTML 】
<div class="swiper-container">
	<!-- 全スライドをまとめるラッパー -->
	<div class="swiper-wrapper">
		<!-- 各スライド -->
		<div class="swiper-slide"><img src="img/sample/m_image01.jpg" /></div>
		<div class="swiper-slide"><img src="img/sample/m_image02.jpg" /></div>
		<div class="swiper-slide"><img src="img/sample/m_image03.jpg" /></div>
		<div class="swiper-slide"><img src="img/sample/m_image04.jpg" /></div>
		<div class="swiper-slide"><img src="img/sample/m_image05.jpg" /></div>
		<div class="swiper-slide"><img src="img/sample/m_image06.jpg" /></div>
		<div class="swiper-slide"><img src="img/sample/m_image07.jpg" /></div>
		<div class="swiper-slide"><img src="img/sample/m_image08.jpg" /></div>
	</div>

	<!-- ページネーションを表示する場合 -->
	<div class="swiper-pagination"></div>

	<!-- 前後スライドへのナビゲーションボタン(矢印)を表示する場合 -->
	<div class="swiper-button-prev"></div>
	<div class="swiper-button-next"></div>
</div>


【 JavaScript 】
<script>
var mySwiper = new Swiper ('.swiper-container', {
	// オプションパラメータ(一部のみ抜粋)
	loop: true, // 最後のスライドまで到達した場合、最初に戻らずに続けてスライド可能にするか。
	speed: 600, // スライドが切り替わるトランジション時間(ミリ秒)。
	slidesPerView: 4, // 何枚のスライドを表示するか
	spaceBetween: 10, // スライド間の余白サイズ(ピクセル)
	direction: 'horizontal', // スライド方向。 'horizontal'(水平) か 'vertical'(垂直)。effectオプションが 'slide' 以外は無効。
	effect: 'slide', // "slide", "fade"(フェード), "cube"(キューブ回転), "coverflow"(画像を斜めに) または "flip"(画像が裏返しに切り替わる)

	// スライダーの自動再生
	// autoplay: true  のみなら既定値での自動再生
	autoplay: {
		delay: 1000, // スライドが切り替わるまでの表示時間(ミリ秒)
		stopOnLast: false, // 最後のスライドまで表示されたら自動再生を中止するか
		disableOnInteraction: false // ユーザーのスワイプ操作を検出したら自動再生を中止するか
	},

	// レスポンシブ化条件
	breakpoints: {
		// 980ピクセル幅以下になったら
		980: {
		slidesPerView: 3,
		spaceBetween: 30
		},
		// 640ピクセル幅以下になったら
		640: {
		slidesPerView: 2,
		spaceBetween: 20
		}
	},

	// ページネーションを表示する場合
	pagination: {
		el: '.swiper-pagination',
		type: 'bullets',
		clickable: true
	},

	// 前後スライドへのナビゲーションを表示する場合
	navigation: {
		nextEl: '.swiper-button-next', // 次のスライドボタンのセレクタ
		prevEl: '.swiper-button-prev', // 前のスライドボタンのセレクタ
	},
});
</script>

各種CSS設定


◆スライダー全体のサイズ設定CSS
.swiper-container {
    width: 600px;
    height: 300px;
}

◆全画面の場合の設定CSS
.swiper-container {
    width: 100%;
    height: 100vh;
}

◆丸ポチを画面の下に配置CSS
.swiper-pagination{
	position: relative !important;
	padding-top:20px;
}

◆左右のバーを画面中央に配置
.swiper-button-prev, .swiper-button-next {
	top: calc((100% - 50px) * 0.5);
	margin-top: -22px;
}

◆4の倍数+1枚目のスライドのスタイル(1枚目、5枚目…)
.swiper-slide:nth-child(4n+1) {
	background-color: #EECB27;
}

Swiperでズームインしながらフェードで切り替わるスライダー


【 HTML 】
<div class="slide_box">
<div class="swiper-container">
<div class="swiper-wrapper">
	<div class="swiper-slide">
		<div class="slide-img"><img src="<?php echo get_template_directory_uri(); ?>/img/slid01.jpg" /></div>
	</div>
	<div class="swiper-slide">
		<div class="slide-img"><img src="<?php echo get_template_directory_uri(); ?>/img/slid02.jpg" /></div>
	</div>
	<div class="swiper-slide">
		<div class="slide-img"><img src="<?php echo get_template_directory_uri(); ?>/img/slid03.jpg" /></div>


</div>
<!-- Add Pagination -->
<div class="swiper-pagination"></div>
</div>
</div>



【 JavaScript 】
<script>
let swipeOption = {
  loop: true,
  effect: 'fade',
  autoplay: {
    delay: 4000,
    disableOnInteraction: false,
  },
  speed: 2000,
  pagination: {
    el: '.swiper-pagination',
    clickable: true,
  }
}
new Swiper('.swiper-container', swipeOption);
</script>


【 CSS 】
/*--------------------------------------------------------

スライダー

--------------------------------------------------------*/
.slide_box{
  padding: 16px;
}
@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}

.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img{
  animation: zoomUp 10s linear 0s 1 normal both;  
}
.slide-img img{
  display: block;
}


特定の記事をスライド表示


<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.0.7/css/swiper.min.css" />
<link rel="stylesheet" href="https://stabble.biz/wp-content/themes/fake_tcd074/css/slider.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.0.7/js/swiper.min.js"></script>



<div class="swiper-container">
	<!-- 全スライドをまとめるラッパー -->
	<div class="swiper-wrapper">
		<!-- 各スライド -->
<?php query_posts('cat=10&showposts=100'); ?> <!--カテゴリIDと表示件数-->
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
		<div class="swiper-slide">
			<a href="<?php the_permalink() ?>"><?php the_post_thumbnail('medium'); ?></a>
			<h3><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h3>
			<p><?php the_excerpt(); ?></p>
			<p class="t-style"><?php the_time('Y/m/d') ?></p><?php the_category(); ?>
		</div>
<?php endwhile; endif; ?>
<?php wp_reset_query(); ?>
	</div>
	<!-- ページネーションを表示する場合 -->
	<div class="swiper-pagination"></div>

	<!-- 前後スライドへのナビゲーションボタン(矢印)を表示する場合 -->
	<div class="swiper-button-prev"></div>
	<div class="swiper-button-next"></div>
</div>






<script>
var mySwiper = new Swiper ('.swiper-container', {
	// オプションパラメータ(一部のみ抜粋)
	loop: true, // 最後のスライドまで到達した場合、最初に戻らずに続けてスライド可能にするか。
	speed: 600, // スライドが切り替わるトランジション時間(ミリ秒)。
	slidesPerView: 3, // 何枚のスライドを表示するか
	spaceBetween: 10, // スライド間の余白サイズ(ピクセル)
	direction: 'horizontal', // スライド方向。 'horizontal'(水平) か 'vertical'(垂直)。effectオプションが 'slide' 以外は無効。
	effect: 'slide', // "slide", "fade"(フェード), "cube"(キューブ回転), "coverflow"(画像を斜めに) または "flip"(画像が裏返しに切り替わる)
	followFinger : false,
	grabCursor:true,

	// スライダーの自動再生
	// autoplay: true  のみなら既定値での自動再生
	autoplay: {
		delay: 2000, // スライドが切り替わるまでの表示時間(ミリ秒)
		stopOnLast: false, // 最後のスライドまで表示されたら自動再生を中止するか
		disableOnInteraction: false // ユーザーのスワイプ操作を検出したら自動再生を中止するか
	},


	// レスポンシブ化条件
	breakpoints: {
		// 980ピクセル幅以下になったら
		980: {
		slidesPerView: 2,
		spaceBetween: 30
		},
		// 640ピクセル幅以下になったら
		640: {
		slidesPerView: 2,
		spaceBetween: 20
		}
	},

	// ページネーションを表示する場合
	pagination: {
		el: '.swiper-pagination',
		type: 'bullets',
		clickable: true
	},

	// 前後スライドへのナビゲーションを表示する場合
	navigation: {
		nextEl: '.swiper-button-next', // 次のスライドボタンのセレクタ
		prevEl: '.swiper-button-prev', // 前のスライドボタンのセレクタ
	},
});
</script>



【CSS】
.swiper-button-prev, .swiper-button-next {
	top: calc((100% - 50px) * 0.5);
	margin-top: -22px;
}
.swiper-container {
    width: 1140px;
	max-width:100%;
	margin-left:auto;
	margin-right:auto;
	margin-bottom:20px;
	padding-top:30px;
	line-height:140%;
}

.swiper-wrapper h3, .swiper-wrapper p, .swiper-wrapper ul{
	width:275px;
	max-width:100%;
}
.swiper-wrapper img{
	height:179px;
}
.swiper-wrapper h3{margin-top:10px; margin-bottom:10px;}
.swiper-wrapper ul li{display:inline;}

/*h3リンク*/
.swiper-wrapper h3 a, .swiper-wrapper p a{text-decoration:none;}
.swiper-wrapper h3 a:link{color:#FFFFFF;}
.swiper-wrapper h3 a:visited{color:#FFFFFF;}
.swiper-wrapper h3 a:hover{color:#FFFFFF; text-decoration:underline;}
.swiper-wrapper h3 a:active{color:#FFFFFF;}

.swiper-wrapper h3{margin-top:0px!important;}


/*本文リンク*/
.swiper-wrapper p a:link{color:#272727;}
.swiper-wrapper p a:visited{color:#272727;}
.swiper-wrapper p a:hover{color:#272727; text-decoration:underline;}
.swiper-wrapper p a:active{color:#272727;}

.swiper-wrapper p{margin-bottom:10px!important;}


.t-style{
	color:#999999;
	margin-top:10px;
}


@media screen and (min-width: 482px) {/*PCのみ矢印を画面の外へ*/
	.swiper-wrapper{padding-left:40px;}
	.swiper-container {height:550px;}
}
@media screen and (max-width: 481px)  {/*スマホ*/
	.t-style{font-size:85%;}
}