Альтернативный пользовательский контент в цикле

У меня есть скользкий слайдер, прокручивающий некоторые сообщения. У меня также есть пара разделов, отображающих между каждым третьим слайдом несколько разных материалов:

<div class="slick-slider pin-news-ticker"> <?php if (have_posts()) : $counter = 1; while (have_posts()) : the_post(); ?> <!-- Carousel items --> <div class="slide"> <div class="entry entry-smallest-list"> <a class="entry-thumb-wrapper" href="<?php the_permalink(); ?>"> <div class="entry-thumb"> <a href="<?php the_permalink(); ?>"> <div class="thumb-wrapper"> <?php the_post_thumbnail( 'post-small-rectangle-pin' );?> </div> </a> </div> </a> <div class="entry-details"> <div class="entry-date"> <small><?php echo get_the_date('M jS, Y'); ?></small> </div> <h4 class="entry-title"> <a href="<?php the_permalink(); ?>"> <?php echo mnr_shorten_title(get_the_title()); ?> </a> </h4> </div> <div class="clearfix"></div> </div> <!-- end .entry-small-list --> </div><!--/ .slide--> <!--/carousel-inner--> <?php // Alternate content which displays every third slide if($counter++ % 3 == 0) :?> <div class="slide pin-alternate-content"> <h3>Number one</h3> <h4>Heading one</h4> <small>Small text one</small> </div> <div class="slide pin-alternate-content"> <h3>Number two</h3> <h4>Heading two</h4> <small>Small text two</small> </div> <?php endif; endwhile; endif; ?> </div> 

Теперь мне сейчас нужно изменить этот бит ниже, поэтому вместо обоих выводных символов div-alternate-content одновременно отображаются друг за другом, а вместо этого они будут чередоваться.

  <?php // Alternate content which displays every third slide if($counter++ % 3 == 0) :?> <div class="slide pin-alternate-content"> <h3>Number one</h3> <h4>Heading one</h4> <small>Small text one</small> </div> <div class="slide pin-alternate-content"> <h3>Number two</h3> <h4>Heading two</h4> <small>Small text two</small> </div> <?php endif;?> 

Итак, в качестве слайдерных свитков, после 3-х слайдов вы увидите первый div с содержимым «Номер один» и так далее, и после следующих трех прокруток столбцов слайдера вы увидите второй div с «Номер два» и т. Д. Они будут в основном вместо того, чтобы отображать оба одновременно. На самом деле я не могу об этом подумать, любая помощь будет оценена по достоинству.

Вы можете инициализировать вторую переменную счетчика, которая увеличивается, когда ваша первая переменная счетчика увеличивается, и используйте ее с модулем для чередования блоков кода.

Сначала инициализируйте две переменные счетчика:

 <?php if (have_posts()) : $show_alternate = 1; $which_alternate = 1; while (have_posts()) : the_post(); ?> 

Затем в вашем .pin-alternate-content вы можете сделать что-то вроде этого:

 <?php if($show_alternate++ % 3 == 0) : ?> <div class="slide pin-alternate-content"> <?php if($which_alternate++ % 2 == 1) : ?> <h3>Number one</h3> <h4>Heading one</h4> <small>Small text one</small> <?php else : ?> <h3>Number two</h3> <h4>Heading two</h4> <small>Small text two</small> <?php endif; ?> </div> <?php endif; ?> 

Я протестировал этот код и после трех слайдов отобразил содержимое номер один, а после следующих трех слайдов отобразится альтернативный контент второго номера, а после еще трех слайдов снова появится содержимое номер один, и он будет чередоваться например, для многих наборов из трех должностей, которые у вас есть.