В прошлой статье мы рассмотрели, что такое поля в Curbon Fields и как их использовать. Сегодня поговорим о базовых типах полей.

Checkbox

Поле checkbox создает одну галочку с меткой рядом с ней.
Field::make( ‘checkbox’, ‘crb_show_content’, __( ‘Show Content’ ) ) ->set_option_value( ‘yes’ )
set_option_value( $value )  – Установите значение, которое будет сохранено при установке флажка. Если флажок снят, в базе данных сохраняется пустое значение. Используйте логическое значение при ссылке на поле флажка в set_conditional_logic() Например, если флажок установлен, появится текстовое поле.
Field::make( ‘checkbox’, ‘crb_show_content’, ‘Show content’ ), Field::make( ‘rich_text’, ‘crb_content’, ‘Content’ ) ->set_conditional_logic( array( array( ‘field’ => ‘crb_show_content’, ‘value’ => true, ) ) ),
Carbon fields. field type

Color (Цвет)

Отображает палитру цветов. Цвета представлены шестью шестнадцатеричными цифрами с префиксом # (например, белый это #FFFFFF) или с 8 шестнадцатеричными цифрами, когда включена Альфа (например, белый это #FFFFFFFF).
Field::make( ‘color’, ‘crb_box_background’, __( ‘Background Color’ ) )
set_palette( $palette = array() )  – устанавливает палитру выбора цвета предопределенных цветов. Должен быть массив шестнадцатеричных цветов. Нпример
Field::make( ‘color’, ‘crb_background’, ‘Background’ ) ->set_palette( array( ‘#FF0000’, ‘#00FF00’, ‘#0000FF’ ) );
Carbon fields. field type Carbon fields. field type Выводится цвет также, как и текстовое поле carbon_get_post_meta() или carbon_get_theme_option() для настроек темы Например, выведем на странице  (page.php) название цвета и зададим задний фон параграфу.
$color = carbon_get_post_meta(get_the_ID(),’crb_background’); echo $color?> <p style=”background:<?php echo $color ?>”>Copyright <?php echo carbon_get_theme_option( ‘crb_facebook_link’ ); ?></p>
Carbon fields. field type  

Multiselect /select

Multiselect  – Создает поле с несколькими выборками (в стиле тегов) с предопределенными параметрами.
Field::make( ‘multiselect’, ‘crb_available_colors’, __( ‘Available Colors’ ) )
Select – выпадающий список с одним вариантом. add_options( $options ) –  Добавьте ассоциативный массив с параметрами или вызываемый массив. Метод может быть вызван несколько раз, в этом случае параметры между вызовами будут добавлены (вместо перезаписи). set_options( $options ) – задает значение по умолчанию. Задайте параметры в виде ассоциативного массива или вызываемого объекта. Метод не предназначен для многократного вызова-каждый вызов перезапишет предыдущие параметры.
Field::make( ‘multiselect’, ‘crb_available_colors’, __( ‘Available Colors’ ) ) ->add_options( array( ‘red’ => ‘Red’, ‘green’ => ‘Green’, ‘blue’ => ‘Blue’, ) )
Carbon fields. field type Carbon fields. field type Пример
Container::make( ‘theme_options’, __( ‘Customize Background’ ) ) ->add_fields( array( Field::make( “select”, “color1”, “Какой цвет?” ) ->add_options( array( ‘red’  => ‘Красный’, ‘blue’  => ‘Синий’, ‘green’ => ‘Зеленый’, ) ) ) );
Carbon fields. field type

Вывод значений

<?php $money = carbon_get_theme_option(‘ color1’); if( $color1 === false  ) $text = ‘Нет цвета’; if( $color1 == ‘red ‘ ) $text = ‘Красный’; if( $color1 == ‘blue’ ) $text = ‘Синий’; if( $color1 == ‘green’ ) $text = ‘Зеленый’; echo “<p>Text.$text</p>”;
Carbon fields. field type

Radio

Аналогично полю select, но вместо поля выбор параметры отображаются в виде набора переключателей.
Field::make( ‘radio’, ‘crb_radio’, __( ‘Choose Option’ ) ) ->set_options( array( ‘1’ => 1, ‘2’ => 2, ‘3’ => 3, ‘4’ => 4, ‘5’ => 5, ) )
add_options( $options ) – добавьте ассоциативный массив с опциями. set_options( $options ) – установите ассоциативный массив с опциями. Если вы предоставляете индексированный массив без ключевых значений, будут использоваться индексы по умолчанию (0, 1, 2 …) элементов.

Пример

Field::make( ‘radio’, ‘crb_subtitle_styling’, __( ‘Subtitle text style’ ) ) ->add_options( array( ’em’ => __( ‘Italic’ ), ‘strong’ => __( ‘Bold’ ), ‘del’ => __( ‘Strike’ ), ) )
Carbon fields. field type Выводим так же как и текст
<p>Тип начертания: <?php echo carbon_get_post_meta( get_the_ID(), ‘crb_subtitle_styling’ ); ?></p>
Carbon fields. field type  

Форматированный текст

Это поле отображает встроенный редактор WordPress tinyMCE WYSIWYG.
Field::make(“rich_text”, “short-biography”, “Резюме”) ->help_text(‘здесь можно разместить ваше резюме’)
Carbon fields. field type Выводится так же как и текст
echo ( carbon_get_the_post_meta( ‘ short-biography ‘ ) );
Carbon fields. field type

Set

Это поле создает список галочек (checkboxes). В этом поле можно выбрать несколько параметров. Значение извлекается в виде массива, содержащего отмеченные опции.
Field::make( ‘set’, ‘crb_set’, __( ‘Choose Options’ ) ) ->set_options( array( ‘1’ => 1, ‘2’ => 2, ‘3’ => 3, ‘4’ => 4, ‘5’ => 5, ) )
add_options( $options ) – добавьте ассоциативный массив с опциями. set_options( $options ) – установите ассоциативный массив с опциями. limit_options( $count )  – показывает только первые параметры $count, в то время как другие скрыты и могут быть показаны, нажав на ссылку “Показать все параметры”. Пример
Field::make( ‘set’, ‘crb_product_features’, __( ‘Features’ ) ) ->add_options( array( ‘bluetooth’ => __( ‘Bluetooth’ ), ‘gps’ => __( ‘GPS navigation’ ), ‘nfc’ => __( ‘Near field communication’ ), ) )
Carbon fields. field type Вывод данного поля
$crb_adv_side = carbon_get_the_post_meta(‘crb_product_features’); if( in_array(‘bluetooth’, $crb_adv_side) ){ echo ‘Блютуз’; } if( in_array(‘gps’, $crb_adv_side) ){ echo ‘ЖПС навигация’; } if( in_array(‘nfc’, $crb_adv_side) ){ echo ‘Связь’; }
Carbon fields. field type  

Текст

Текстовое поле является самым простым и универсальным полем. Он отображает поле ввода текста.
Field::make( ‘text’, ‘crb_phone_number’, __( ‘Phone Number’ ) ) set_attribute( $name, $value = ” )
Задает прямой атрибут результирующего поля <input>. Может быть только один из следующих параметров: max, maxLength, min, pattern, placeholder, readOnly, step, type и data-*.
Field::make( ‘text’, ‘crb_phone_number’, __( ‘Phone Number’ ) ) ->set_attribute( ‘placeholder’, ‘(***) ***-****’ )
Выводится также просто carbon_get_post_meta (get_the_ID(),’crb_phone_number’) carbon_get_theme_option (get_the_ID(),’crb_phone_number’) – вывод за пределами цикла. echo carbon_get_the_post_meta(‘crb_subtitle’) – вывод внутри цикла echo carbon_get_post_meta($post_id, ‘crb_subtitle’) – выводим в любом месте

textarea

Многострочный ввод текста с HTML.
Field::make( ‘textarea’, ‘crb_phone_numbers’, __( ‘Phone Numbers’ ) ) set_rows( $rows = 5 )
Задает количество строк. Должно быть больше или равно 0. По умолчанию-5.
Field::make( ‘textarea’, ‘crb_phone_numbers’, __( ‘Phone Numbers’ ) )    ->set_rows( 4 ) set_attribute( $name, $value = ” ) – задает прямой атрибут результирующего поля <textarea>. Может только быть один из следующих:
maxLength, minLength, placeholder, readOnly и data-*. Пример
Field::make(“textarea”, “short-resume”, “резюме”) ->set_rows(5) // Высотка поля в строках. ->help_text(‘Сюда можно поместить резюме’) // Подсказка.
Carbon fields. field type
// Выводим вне цикла echo carbon_get_post_meta(get_the_ID(), ‘ short-resume ‘);   // Выводим в любом месте $post_id – ID поста echo carbon_get_post_meta($post_id, ‘ short-resume ‘);   // Выводим в цикле echo carbon_get_the_post_meta(‘ short-resume ‘);   // Вывод с учетом переноса строки echo wpautop( carbon_get_post_meta(get_the_ID(), ‘ short-resume ‘) );
Carbon fields. field type