Применение функции внутри цикла
Следующая функция берет значение из поля 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.