Обзор
Поле «Переключатель» для плагина Advanced Custom Fields позволяет создать список из выбираемых значений.
Скриншоты
- Интерфейс
- Настройки
История изменений
- Возвращаемое значение добавлено в версии 5.4.0
- Пустое значение добавлено в версии 5.3.8
- Добавлено в версии 4.1.7
Настройки
Имя | Описание |
---|---|
Варианты | Каждый новый вариант должен начинаться с новой строки. Для большего контроля значения и ярлыка вы можете использовать связку значение:ярлык (например, ‘red’ : ‘Красный’) |
Разрешить пусто значение? | По умолчанию, должно быть выбрано хотя бы одно значение, но благодаря этому пункту можно разрешить не заполнять это поле. Использует JS в своей работе. |
Другое | Добавляет дополнительное текстовое поле для ввода текста. |
Сохранить значения | Позволяет сохранить значение для «другого» поля в базе данных. При следующем запросе это значение появится в списке вариантов. |
Значение по умолчанию | Значение, которое будет присвоено полю при создании нового поста. Нужно указывать именно значение, а не ярлык поля. |
Текст после поля ввода | Позволяет выбрать формат возвращаемого значения для функции get_field() или похожих функций. |
Примечание
Если вы используете возможности local JSON, то при сохранении «других» (дополнительных) значений они не будут добавлены при обновлении страницы. Это возникает из-за того, что JSON файл не обновляется при этой операции и перезаписывает все значения в базе данных.
Использование в шаблоне
Базовое
Пример показывает, как отобразить одиночное значение.
<p>Цвет: <?php the_field('color'); ?></p>
Отобразить значение и ярлык
В примере показано как получить значение и ярлык выбранного пункта переключателя без использования настройки «Возвращаемое значение».
<?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>
Настройка «Возвращаемое значение»
В примере показано как получить значение и ярлык выбранного пункта переключателя с использования настройки «Возвращаемое значение» (выбран пункт «оба»).
<?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; ?>
Query posts
Этот пример показывает, как с помощью query posts вывести значение «red».
<?php
$posts = get_posts(array(
'meta_query' => array(
array(
'key' => 'color', // имя произвольного поля
'value' => 'red',
)
)
));
if( $posts ) {
//...
}
?>