Обзор
Тип поля «Выбор» создает выпадающее меню с возможностью выбора одного или нескольких значений.
Скриншоты
Параметры
- Выборы: Каждый новый вариант выбора должен начинаться с новой строки. Вы можете написать только «значение» или использовать связку «значение : ярлык поля».
- Значение по умолчанию: Значение, которое будет присвоено полю в первый раз. Нужно указывать конкретно «значение», а не «ярлык поля».
- Разрешить пусто значение?: Если выбрано, то в выпадающем списке появится пустой пункт «- Выбор -«.
- Выбрать несколько значений?: Добавляет возможность выбрать несколько значений с помощью клавишы Ctrl.
- Стилизованный интерфейс: Включает библиотеку Select2 JS, что расширяет функционал (поиск, AJAX, перегрупировка). Работает в ACF 5+.
- Использовать AJAX для загрузки вариантов выбора?: Эта настройка появляется при использовании «Stylized UI» и использует Ajax для подгрузки выборов. Очень полезно использовать вместе с фильтром acf/load_value. Позволяет ускорить загрузку страницы. Работает в ACF 5+.
Использование
Базовое
Пример показывает как вывести единственное выбранное значение.
<p>Цвет: <?php the_field('color'); ?></p>
Множественный выбор
Пример показывает как вывести несколько выбранных значений.
<?php
// переменные
$colors = get_field('color');
// проверка
if( $colors ): ?>
<p>Color: <?php echo implode(', ', $colors); ?></p>
<?php endif; ?>
Вывод значения и ярлыка поля
Пример показывает как вывести и значение и ярлык для поля без «Format value» (до ACF 5.4.0).
<?php
// Переменные
$field = get_field_object('color');
$value = $field['value'];
$label = $field['choices'][ $value ];
?>
<p>Цвет: <span class="color-<?php echo $value; ?>"><?php echo $label; ?></span></p>
Вывод значения и ярлыка поля с помощью «Format value»
Пример показывает как вывести и значение и ярлык для поля с «Format value» (начиная с ACF 5.4.0).
<?php
// Переменные
$color = get_field('color');
?>
<p>Цвет: <span class="color-<?php echo $color['value']; ?>"><?php echo $color['label']; ?></span></p>
Условные выражения
Пример показывает как осуществить проверку поля на условие.
<?php if( get_field('color') == 'red' ): ?>
<p>Выбран красный цвет!</p>
<?php endif; ?>