Описание
Возвращает настройки определённого под-поля внутри цикла have_rows().
Каждое поле содержит множество настроек, таких как label, name и type. Эта функция позволяет загрузить эти настройки в виде массива вместе со значением поля.
Параметры
get_sub_field_object($selector, [$format_value = true], [$load_value = true], [$escape_html = true]);
$selector(string) (Обязательный) Имя поля или ключ поля.$format_value(bool) (Необязательный) Применять ли логику форматирования. По умолчанию — true.$load_value(bool) (Необязательный) Загружать ли значение поля. По умолчанию — true.$escape_html(bool) (Необязательный) Начиная с версии 6.2.6 — возвращать экранированную HTML-безопасную версию значения поля. Для этого параметр $format_value должен иметь значение true. По умолчанию — false.
Возвращаемое значение
(array) Эта функция возвращает массив примерно следующего вида. Обратите внимание, что каждое поле содержит уникальный набор настроек.
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' => ''
)
);
История изменений
- Добавлена в версии 4.0
Пример
Эта функция работает аналогично get_sub_field(), то есть должна использоваться внутри цикла have_rows(). В этом примере показано, как вывести варианты выбора под-поля, используя его значение для выделения выбранного варианта.
<?php if( have_rows('repeater') ): ?>
<?php while( have_rows('repeater') ): the_row(); ?>
<?php
// Получить под-поле с именем "select".
$select = get_sub_field_object('select');
// Получить его значение.
$value = $select['value'];
// Перебрать его варианты.
?>
<ul>
<?php foreach( $select['choices'] as $k => $v ): ?>
<li <?php echo ($k === $value) ? 'class="selected"' : ''; ?>>
<?php echo $v; ?>
</li>
<?php endforeach; ?>
</ul>
<?php endwhile; ?>
<?php endif; ?>
Обновлено: 30.09.2026