get_sub_field_object()

Описание

Возвращает настройки определённого под-поля внутри цикла 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