Добрый день! есть такой код: PHP: <?php if(get_field('master_tatuaj_brovey')): ?> <?php while(the_repeater_field('master_tatuaj_brovey')): ?> <div class="workSlider inSlide item"> <img src="<?php the_sub_field('img_tatuaj_brovey'); ?>" alt="<?php the_sub_field('name_tatuaj_brovey'); ?>" /> <h3><?php the_sub_field('name_tatuaj_brovey'); ?></h3> <div class="priceWork"><?php the_sub_field('price_tatuaj_brovey'); ?></div> </div> <?php endwhile; ?> <?php endif; ?> и получается что выводится все нормально, но прибавляется еще один блок с пустыми параметрами. HTML: <div class="workSlider inSlide item"> <img src="" alt=""> <h3></h3> <div class="priceWork"></div> </div> как заставить цикл не выводить этот последний блок?
вроде получилось.. добавил условие <?php $name = get_sub_field('name_tatuaj_brovey'); if( !empty($name) ): ?> PHP: <?php if(get_field('master_tatuaj_brovey')): ?> <?php while(the_repeater_field('master_tatuaj_brovey')): ?> <?php $name = get_sub_field('name_tatuaj_brovey'); if( !empty($name) ): ?> <div class="workSlider inSlide item"><img src="<?php the_sub_field('img_tatuaj_brovey'); ?>" alt="<?php the_sub_field('name_tatuaj_brovey'); ?>" /><h3><?php the_sub_field('name_tatuaj_brovey'); ?></h3><div class="priceWork"><?php the_sub_field('price_tatuaj_brovey'); ?></div></div> <?php endif; ?> <?php endwhile; ?> <?php endif; ?>
@ADSoft, согласен. В крайнем случае если массив приходит извне ничего не стоит проверить его на пустые элементы, а по хорошему всё поля "отвалидировать" Ну или хотя бы htmlspecialchars приладить при выводе.