Описание
Поле Group позволяет объединять поля в группы. Оно помогает лучше организовать интерфейс экрана редактирования и данные.
При сохранении и загрузке значений поле Group использует имена родительского и дочернего полей. Например, поле Group с именем ‘hero’ и подполем ‘image’ будет сохранено в базе данных с именем метаполя ‘hero_image’.
Скриншоты
История изменений
- Добавлено в версии 5.6.0.
Настройки
Подполя
Определяет подполя, которые будут отображаться внутри этой группы.Разметка
Определяет стиль разметки, используемый для отображения интерфейса поля.
Block: подполя отображаются в виде блоков, один за другим.
Table: подполя отображаются в одной строке таблицы. Названия будут отображаться в заголовке таблицы.
Row: подполя отображаются в таблице из двух столбцов. Названия будут отображаться в первом столбце.
Использование в шаблоне
Поле Group возвращает массив, содержащий значение каждого под-поля в формате name => value.
Отображение содержимого
В этом примере показано, как отобразить содержимое поля Group.
<?php
$hero = get_field('hero');
if( $hero ): ?>
<div id="hero">
<img src="<?php echo esc_url( $hero['image']['url'] ); ?>" alt="<?php echo esc_attr( $hero['image']['alt'] ); ?>" />
<div class="content">
<?php echo $hero['caption']; ?>
<a href="<?php echo esc_url( $hero['link']['url'] ); ?>"><?php echo esc_html( $hero['link']['title'] ); ?></a>
</div>
</div>
<style type="text/css">
#hero {
background-color: <?php echo esc_attr( $hero['color'] ); ?>;
}
</style>
<?php endif; ?>Пример цикла
В этом примере показано, как отобразить ту же группу с помощью функции have_rows(). Это похоже на перебор значения поля Repeater, но данное значение содержит только одну строку.
<?php if( have_rows('hero') ): ?>
<?php while( have_rows('hero') ): the_row();
// Получаем значения подполей.
$image = get_sub_field('image');
$link = get_sub_field('link');
?>
<div id="hero">
<img src="<?php echo esc_url( $image['url'] ); ?>" alt="<?php echo esc_attr( $image['alt'] ); ?>" />
<div class="content">
<?php the_sub_field('caption'); ?>
<a href="<?php echo esc_url( $link['url'] ); ?>"><?php echo esc_attr( $link['title'] ); ?></a>
</div>
</div>
<style type="text/css">
#hero {
background-color: <?php the_sub_field('color'); ?>;
}
</style>
<?php endwhile; ?>
<?php endif; ?>Обновлено: 30.09.2026

