@ligisayan

Почему карусель пропускает последний элемент в цикле и как исправить?

Всем привет! Есть реализованный функционал, завязанных на гибриде карусели и табов - фидл
Перенес его wordpress и задаю элементы через плагин произвольных полей. Все бы хорошо, но теперь все работает (крутится карусель) только до предпоследнего элемента после чего возвращается к первому. Как этот момент подправить?
<div id="myCarousel" class="carousel slide" data-ride="carousel" data-interval="">

		  			  <?php $test = new WP_Query([
                        'post_type'     => 'gates',
                        'post_status'   => 'publish',
                        'posts_per_page'=> -1,
                        'order'         => 'ASC'
                    ]); ?>
					<?php $i=0; ?>
					
			<!-- Indicators -->
			<ol class="carousel-indicators">		
					<?php while($test->have_posts()): ?>
                    <?php $test->the_post(); ?>
			  <li data-target="#myCarousel" data-slide-to="<?php echo $i; ?>"<?php if($i==0) : echo ' class="active"'; endif; ?>>
				<a data-toggle="pill" class="js-link js-link-<?php echo $i; ?>" href="#<?php echo ++$i; ?>"><?php the_post_thumbnail('full'); ?></a>
			  </li>
			  
			  		  					<?php endwhile ?>
                    <?php wp_reset_query() ?>
			</ol>
			
			<!-- Wrapper for slides -->
			<div class="carousel-inner" role="listbox">
					<?php $i = 0;
					while($test->have_posts()): ?>
                    <?php $test->the_post(); ?>
					
												<?php 
							$gallery = get_post_meta(get_the_ID(), 'gallery_types', true);
							if($gallery):
							$images = get_field('gallery_types');
							if( $images ): ?>
								<div class="item <?php if($i==0) : echo "active"; endif; ?>">
									<?php foreach( $images as $image ): ?>
										<img src="<?php echo $image['sizes']['large']; ?>" alt="<?php echo $image['alt']; ?>" />
									<?php endforeach; ?>
								</div>
								<?php $i++; ?>
							<?php endif;	endif;						?>
							
					<?php endwhile ?>
                    <?php wp_reset_query() ?>
				<!-- Left and right controls -->
				<a class="left carousel-control" href="#myCarousel" role="button" data-slide="prev"></a>
				<a class="right carousel-control" href="#myCarousel" role="button" data-slide="next"></a>
			</div>
		  </div>
  • Вопрос задан
  • 177 просмотров
Решения вопроса 1
irtek
@irtek
Wordpress-addicted
На первый взгляд видится, что в блоке .carousel-indicators выводятся управляющие элементы просто по наличию всех постов gates, а в блоке вывода блоков .item есть условие зависимости от наличия $gallery и $images в нем. У вас точно во всех постах галереи есть с хотя бы одним изображением?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы