WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

Применение функции внутри цикла

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

0
TrueLie
3 месяца назад

Нет ответов на этот вопрос.

    На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация