탑 바 영역에 롤링이 되는 베너를 추가하는 방법은 무엇일까요?
[ 방법 ]
세로 스크롤이 가능한 jQuery plugin -> Slick Slider 를 이용 베너 컨텐츠를 스크롤 되도록 하기.
(※ Slick Slider는 여러 테마에서 캐러젤이나 슬라이드 되는 구조에 사용하고 있음)
[ 과정 ]
1. 롤링이 되는 html 엘리먼트들 추가
<div class="slick-roll">
<div>your content 1</div>
<div>your content 2</div>
<div>your content 3</div>
</div>
2. html 구조를 slider 기능이 추가된 구조로 변경 (slick slider가 작동)
(※ 현 테마에는 플러그인이 내장돼있지 않아서, 플러그인을 테마에 추가하여 적용)
/**
* Slick Slider plugin js, css 파일 연결
*/
add_action('wp_enqueue_scripts', 'slick_slider_enqueue');
function slick_slider_enqueue() {
// 워드프레스에 파일 위치 말해주기
wp_register_style( 'slick_css', get_stylesheet_directory_uri() . '/_custom_addons/slickslider/slick.css', array(), '1.8.1');
wp_register_style( 'slick_theme_css', get_stylesheet_directory_uri() . '/_custom_addons/slickslider/slick-theme.css', array(), '1.8.1');
wp_register_script( 'slick_script', get_stylesheet_directory_uri() . '/_custom_addons/slickslider/slick.min.js', array('jquery'), '1.8.1', true); // true = 푸터에서 적용
// 실제 사용 여부 결정
if (is_single(104)) {
wp_enqueue_style( 'slick_css' );
wp_enqueue_style( 'slick_theme_css' );
wp_enqueue_script( 'slick_script' );
}
}
/**
* Add scripts to wp_footer()
*/
function custom_slickslider_script() {
if (is_single(104)) { ?>
<script type="text/javascript">
(function($) {
$(document).ready(function(){
$('.slick-roll').slick({
vertical: true,
slidesToShow: 1,
slidesToScroll: 1,
autoplay: true,
arrows: false,
swipe:false,
pauseOnHover:false,
});
});
})( jQuery );
</script>
<?php
}
}
add_action( 'wp_footer', 'custom_slickslider_script', 99 );
/**
* Add style to wp_head()
*/
add_action( 'wp_head', function () {
if (is_single(104)) { ?>
<style>
.slick-vertical .slick-slide { text-align:center; padding:10px; }
.slick-vertical .slick-slide:nth-child(3n) { background: red; }
.slick-vertical .slick-slide:nth-child(3n+1) { background: yellow; }
.slick-vertical .slick-slide:nth-child(3n+2) { background: blue; }
</style>
<?php } } );
[ 적용 모습 ]
your content 1
your content 2
your content 3