wordpressでテーマを自作していて、swiperを実装して、foreachで記事数の分だけスライドが追加されるという事がしたいのですが、ページネーションが表示されないのが一点と、
もう一点として、タブ切り替えをすると、二個目のタブになるとうまくスライダーが機能しません。(一つ目のタブではしっかりとスライダーは動きます。)
今回初めてスライダーを実装したので、詳しく教えて頂けると幸いです。
html:
<!DOCTYPE html> <html> <head> <meta charset="<?php bloginfo( 'charset' ); ?>"> <?php wp_enqueue_script('jquery'); ?>; <?php wp_head();?> <link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/css/reset.css" type="text/css" /> <link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/style.css" type="text/css" /> <!--タブ切り替え--> <script type="text/javascript"> (function($) { $(document).ready(function() { $('.tab_area:first').show(); $('.tab li:first').addClass('active'); $('.tab li').click(function() { $('.tab li').removeClass('active'); $(this).addClass('active'); $('.tab_area').hide(); $(jQuery(this).find('a').attr('href')).fadeIn(); return false; }); }); })(jQuery); </script> <link rel="stylesheet" href="<?php bloginfo('template_url'); ?>/css/swiper.min.css"> </head> <body> <header> </header> ................................. <ul class="tab"> <li><a href="#tab1">ランキング1</a></li> <li><a href="#tab2">ランキング2</a></li> <div class="nulbox"></div> </ul> <div class="tab_area" id="tab1"> <div class="swiper-container"> <div class="swiper-wrapper"> <?php $page = get_page_by_path('自作固定ページ1'); $my_ranking = get_field('自作カテゴリ1',$page->ID); if ( $my_ranking ) { $number = 1; global $wpdb; global $rateAvg; ?> <?php foreach($my_ranking as $value){ //繰り返し回数による判定 if ( $number >= 6){ break; } setup_postdata($value); ?> <!--表示したい内容を取得--> <div class="swiper-slide"> <!--表示したい内容--> <div class="swiper-pagination"></div> <div class="swiper-button-prev"></div> <div class="swiper-button-next"></div> </div> <?php wp_reset_postdata(); ?> <?php $number++; //繰り返された回数を1つづずカウント } } ?> </div> </div> </div> <div class="tab_area" id="tab2"> <div class="swiper-container"> <div class="swiper-wrapper"> <?php $page = get_page_by_path('自作固定ページ2'); $my_ranking = get_field('自作カテゴリ2',$page->ID); if ( $my_ranking ) { $number = 1; global $wpdb; global $rateAvg; ?> <?php foreach($my_ranking as $value){ //繰り返し回数による判定 if ( $number >= 6){ break; } setup_postdata($value); ?> <!--表示したい内容を取得--> <div class="swiper-slide"> <!--表示したい内容--> <div class="swiper-pagination"></div> <div class="swiper-button-prev"></div> <div class="swiper-button-next"></div> </div> <?php wp_reset_postdata(); ?> <?php $number++; //繰り返された回数を1つづずカウント } } ?> </div> </div> </div> <div class="tab_content"> <div class="tab_area" id="tab3"> <ul> <?php random_post_list(6); ?> </ul> </div> <div class="tab_area" id="tab4"> <ul> <?php new_post_list(6); ?> </ul> </div> </div> <div class="inline_block"> </div> <p>全てのランキングを見る場合はこちら <a href="/cat_rank">>ランキング</a></p> .................. <footer> </footer> <?php wp_footer(); ?> <script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/swiper.min.js"></script> <script> var mySwiper = new Swiper ('.swiper-container', { // Optional parameters direction: 'horizontal', loop: true, // If we need pagination pagination: { el: '.swiper-pagination', }, // Navigation arrows navigation: { nextEl: '.swiper-button-next', prevEl: '.swiper-button-prev', }, // And if we need scrollbar scrollbar: { el: '.swiper-scrollbar', }, }) </script> </body> </html>
css:
.cbp-spmenu-push{ margin-top: -25px; } /*スライダー*/ .swiper-container { width: 100%; height: auto; } /*----------------------------- 記事タブメニュー ------------------------------*/ .tab{ padding:15px 0px 2px 0px; margin-left:20px; } .tab li { /*タブ部分*/ display:inline-block; margin-right:10px;/*タブの隙間*/ font-size: 17px; border-top:solid 1px #acacac; border-left: solid 1px #acacac; border-right: solid 1px #acacac; border-bottom: solid 1px #acacac; margin: 0 auto; } .tab .nulbox{clear:left;} .tab li a { display:inline; color:#666; text-decoration: none; background-color:#f3f3f3; /*タブ画像*/ padding:4px 5px 5px 5px; } .tab li.active a{ /*選択中のタブ*/ background-color:#122450; padding:4px 5px 5px 5px; color:#FFFFFF; } .tab_area { /*切り替え部分非表示*/ display: none; border-top:solid 1px #acacac; border-left: solid 1px #acacac; border-right: solid 1px #acacac; border-bottom: solid 1px #acacac; margin-top: -3px; border-radius: 3px; } .tab_content { /*内容*/ font-size: 13px; clear: both; overflow: hidden; width: 300px; } .tab_content a { color:#000000; text-decoration: none; font-weight:bold; } .tab_content a:hover { color:#0044cc; text-decoration: underline; } .tab_content ul li{ /*内容のリスト表示*/ background-color: #ffffff; /*リスト画像*/ padding-left:0px; font-size: 13px; line-height:16px; margin-top:15px; clear: both; } #tab1 ul.wpp-list li { /*週間人気記事のリスト表示*/ font-size: 13px; line-height:16px; margin: 6px 5px -18px 1px; clear: both; } #tab2 ul.wpp-list li { /*月間人気記事のリスト表示*/ font-size: 13px; line-height:16px; margin: 6px 5px -18px 1px; clear: both; } #tab3 img{ float: left; padding:0px 2px 2px 0px; margin: 2px 5px 2px 1px; } #tab4 img{ float: left; padding:0px 2px 2px 0px; margin: 2px 5px 2px 1px; }

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/28 07:12
2017/12/28 07:12
2017/12/28 09:35
2017/12/28 11:14