В прошлой статье мы рассмотрели, что такое поля в 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, ) ) ),
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_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>
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', ) )
Пример
Container::make( 'theme_options', __( 'Customize Background' ) ) ->add_fields( array( Field::make( "select", "color1", "Какой цвет?" ) ->add_options( array( 'red' => 'Красный', 'blue' => 'Синий', 'green' => 'Зеленый', ) ) ) );
Вывод значений
<?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>";
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' ), ) )
Выводим так же как и текст
<p>Тип начертания: <?php echo carbon_get_post_meta( get_the_ID(), 'crb_subtitle_styling' ); ?></p>
Форматированный текст
Это поле отображает встроенный редактор WordPress tinyMCE WYSIWYG.
Field::make("rich_text", "short-biography", "Резюме") ->help_text('здесь можно разместить ваше резюме')
Выводится так же как и текст
echo ( carbon_get_the_post_meta( ' short-biography ' ) );
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' ), ) )
Вывод данного поля
$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 'Связь'; }
Текст
Текстовое поле является самым простым и универсальным полем. Он отображает поле ввода текста.
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('Сюда можно поместить резюме') // Подсказка.
// Выводим вне цикла 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 ') );