Применение функции внутри цикла
Следующая функция берет значение из поля ACF fourth-section_tariffs_cost
и добавляет его в скрытое поле Ninja Forms с ключом cost
.
add_filter( 'ninja_forms_render_default_value', 'wm_the_value' , 10 , 3); function wm_the_value( $default_value, $field_type, $field_settings ) { if ( $field_settings['key'] == 'cost') { if ( have_rows( 'fourth-section' ) ) { while ( have_rows( 'fourth-section' ) ) { the_row(); if( have_rows('fourth-section_tariffs') ){ while( have_rows('fourth-section_tariffs') ){ the_row(); $default_value = get_sub_field('fourth-section_tariffs_cost'); } } } } } return $default_value; }
Она работает. Но проблема в том, что на странице несколько форм с разными значениями в полях fourth-section_tariffs_cost
(сделано через повторитель ACF). Соответственно и в поля Ninja Forms с ключом cost
хотелось бы добавлять эти значения, каждому в своем цикле, однако ко всем этим полям с ключом cost
добавляется последнее значение из поля ACF fourth-section_tariffs_cost
. Вопрос в том, как применить этот filter в цикле. Цикл примерно такой:
<?php if ( have_rows( 'fourth-section' ) ) { while ( have_rows( 'fourth-section' ) ) { the_row(); $tariffs_cost = get_sub_field('fourth-section_tariffs_cost'); ?> <div class="price"><?php echo $tariffs_cost; ?></div> <?php //здесь нужно применить фильтр ?> <?php } } ?>
Пробовал apply_filters
, но вероятно делаю что-то не так, потому что все равно берется последнее значение fourth-section_tariffs_cost
и прописывается во все поля с ключом cost
.