После foreach не работает while
<?php foreach ( $otzyvy as $post ):
?>
<?php endforeach; ?>
<?php while( have_rows('cf7-checkbox')): the_row(); ?>
<button class="checkbox" value="<?php echo the_sub_field('checkbox')?> "><?php echo the_sub_field('checkbox')?><div class="img"><img src="<?php bloginfo('template_url'); ?>/build/img/checkbox_close_button.png"/></div></button>
<?php endwhile; ?>
После foreach не срабатывает while, убираю foreach (в foreach свое действие, просто не стал загромождать вопрос) - все ок, подскажите пожалуйста в чем ошибка
Ответы (1 шт):
Автор решения: Darth KYL
→ Ссылка
проблема в том что вы называете переменную в цикле foreach как $post, и этим перезаписываете глобальную переменную $post, лучше использовать другое название для этой переменной например $review_item. если вам все же очень хочется использовать переменную с именем $post как значение в цикле foreach, то после цикла вы можете сбросить ее используя wp_reset_postdata();
<?php foreach ( $otzyvy as $post ):
?>
<?php
endforeach;
wp_reset_postdata();
?>
<?php while( have_rows('cf7-checkbox')): the_row(); ?>
<button class="checkbox" value="<?php echo the_sub_field('checkbox')?> "><?php echo the_sub_field('checkbox')?><div class="img"><img src="<?php bloginfo('template_url'); ?>/build/img/checkbox_close_button.png"/></div></button>
<?php endwhile; ?>