get_sub_field_object()

Обзор

Возвращает параметры (массив) конкретного подполя цикла have_rows().

Значение поля также будет загружено, если не указано иное.

История изменений

  • Добавлено в v4.0

Параметры

get_sub_field_object($selector, [$format_value], [$load_value]);
  • $selector (строка) (обязательное) Имя или ключ поля
  • $format_value (логический) Использовать ли логическое форматирование. По-умолчанию true.
  • $load_value (логический) Загружать ли значение поля. По-умолчанию true.

Возвращает

Эта функция возвращает массив представленный ниже. Обратите внимание, что каждое поле содержит уникальные настройки.

array(
	'ID'				=> 0,
	'key'				=> '',
	'label'				=> '',
	'name'				=> '',
	'prefix'			=> '',
	'type'				=> 'text',
	'value'				=> null,
	'menu_order'		=> 0,
	'instructions'		=> '',
	'required'			=> 0,
	'id'				=> '',
	'class'				=> '',
	'conditional_logic'	=> 0,
	'parent'			=> 0,
	'wrapper'			=> array(
		'width'				=> '',
		'class'				=> '',
		'id'				=> ''
	)
);

Использование

Функция get_sub_field_object() работает похоже на get_sub_field(). И обязательно должна использоваться в цикле have_rows(). Ниже приведен пример того, как найти объект подполя для поля «выбор» (под именем«select» в этом примере) из повторителя(в этом примере называется «repeater»).

<?php if( have_rows('repeater') ): ?>

	<?php while( have_rows('repeater') ): the_row(); ?>

		<?php 

		// переменные
		$select = get_sub_field_object('select');
		$value = $select['value'];

		?>
		<ul>
			<?php foreach( $select['choices'] as $k => $v ): ?>
				<li>
					<?php if( $k == $value ): ?>
						<span class="selected">Selected!</span>
					<?php endif; ?>
					<?php echo $v; ?>
				</li>
			<?php endforeach; ?>
		</ul>

	<?php endwhile; ?>

<?php endif; ?>

Похожие