xo_slider_script フック

説明

スライダースクリプトをフィルターします。

使い方

add_filter( 'xo_slider_script', 'my_xo_slider_script', 10, 2 );

パラメータ

$script
配列) スライダースクリプト
スライダースクリプト。詳細は Swiper API ページをご覧ください。
$slide
オブジェクト) スライダーデータ
  • ‘id’ (スライダー ID)
  • ‘slides’ (スライダーのスライドデータの配列)
  • ‘params’ (スライダーのパラメーターの配列)

用例

クリエイティブ エフェクトを設定します。

function my_xo_slider_script( $script, $slide ) {
	if ( 1234 == $slide->id ) {
		$loop  = ( isset( $slide->params['loop'] ) && $slide->params['loop'] ) ? 'true' : 'false';
		$speed = (int) ( $slide->params['speed'] ?? 600 );
		$delay = (int) ( $slide->params['delay'] ?? 1000 );

		$script = <<<SCRIPT
new Swiper('#xo-slider-{$slide->id} .swiper-container', {
	pagination: {
		el: ".swiper-pagination",
		clickable: true
	},
	navigation: {
		nextEl: ".swiper-button-next",
		prevEl: ".swiper-button-prev"
	},
	speed: {$speed},
	loop: {$loop},
	centeredSlides: true,
	autoplay: {
		delay: {$delay},
		stopOnLastSlide: false,
		disableOnInteraction: true
	},
	grabCursor: true,
	effect: "creative",
	creativeEffect: {
		prev: {
			shadow: true,
			origin: "left center",
			translate: ["-5%", 0, -200],
			rotate: [0, 100, 0],
		},
		next: {
			origin: "right center",
			translate: ["5%", 0, -200],
			rotate: [0, -100, 0],
		},
	},
});
SCRIPT;

	}

	return $script;
}
add_filter( 'xo_slider_script', 'my_xo_slider_script', 10, 2 );