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