У меня есть следующий код, где я укажу другой порядок div в зависимости от того, является ли поле ретранслятора нечетным или четным, но оно неверно, поскольку оно повторяется ровно дважды. Любая помощь по этой проблеме будет высоко оценена.ACF нечетный даже ретранслятор
<!-- If Even -->
<?php if(get_field('services_repeater')): $i = 0;
while(has_sub_field('services_repeater')): $i++;
if($i % 2 == 0):?>
<div class="row">
<div class="span6 area-text">
<?php the_sub_field('area_text'); ?>
</div>
<div class="span6">
<!-- Carousel Open -->
<div class="slider lazy">
<?php
$variable = get_sub_field('choose_slider');
$args = array(
'post_type' => 'portfolio',
'portfolio-item' => $variable->slug
);
$the_query = new WP_Query($args);
if($the_query->have_posts()) : while ($the_query->have_posts()) : $the_query->the_post(); ?>
<div><a class="group1" href="<?php the_permalink(); ?>" title="<?php printf(the_title_attribute('echo=0')); ?>"><div class="image">
<?php $imageID = get_field('thumbnail');
$attachment_id = get_field('thumbnail');
$size = "carousel_main_img";
$imageURL = wp_get_attachment_image_src($attachment_id, $size); ?>
<img data-lazy="<?php echo $imageURL[0]; ?>" />
<div class="post-content"><p class="caption"><?php printf(the_title_attribute('echo=0')); ?></p></div>
</div></a></div>
<?php endwhile; else: ?>
<?php endif; wp_reset_postdata(); ?>
</div></div>
<!-- Carousel Closed -->
</div>
</div>
<div id="separator"></div>
<!-- End If Even -->
<?php endif; ?>
<div class="row">
<div class="span6 area-text">
<?php the_sub_field('area_text'); ?>
</div>
<div class="span6">
<!-- Carousel Open -->
<div class="slider lazy">
<?php
$variable = get_sub_field('choose_slider');
$args = array(
'post_type' => 'portfolio',
'portfolio-item' => $variable->slug
);
$the_query = new WP_Query($args);
if($the_query->have_posts()) : while ($the_query->have_posts()) : $the_query->the_post(); ?>
<div><a class="group1" href="<?php the_permalink(); ?>" title="<?php printf(the_title_attribute('echo=0')); ?>"><div class="image">
<?php $imageID = get_field('thumbnail');
$attachment_id = get_field('thumbnail');
$size = "carousel_main_img";
$imageURL = wp_get_attachment_image_src($attachment_id, $size); ?>
<img data-lazy="<?php echo $imageURL[0]; ?>" />
<div class="post-content"><p class="caption"><?php printf(the_title_attribute('echo=0')); ?></p></div>
</div></a></div>
<?php endwhile; else: ?>
<?php endif; wp_reset_postdata(); ?>
</div></div>
<!-- Carousel Closed -->
</div>
</div>
<div id="separator"></div>
<?php endwhile; ?>
<?php endif; ?>
Я боюсь, что я не это онлайн, чтобы показать вам, я попытался упростить это с помощью следующего кода, и до сих пор второй дважды повторяется.
<?php if (get_field('services_repeater')): ?>
<?php $index = 1; ?>
<?php $totalNum = count(get_field('services_repeater')); ?>
<?php while (has_sub_field('services_repeater')): ?>
<div class="col-sm-4">
<?php the_sub_field('area_text'); ?>
</div>
<? if ($index % 2 == 0) : ?>
<? if ($index < $totalNum) : ?>
Row 2<?php the_sub_field('area_text'); ?>
<? elseif ($index == $totalNum) : ?>
<? endif; ?>
<? endif; ?>
<?php $index++; ?>
<?php endwhile; ?>
<?php endif; ?>
Эй, ваша мысль о использование оператора modulo для определения нечетных/четных чисел является абсолютно правильным. Можете ли вы показать нам пример вывода, где проблема возникает, потому что из того, что я могу прочитать, код выглядит хорошо. –