Плагин Carbon fields. Часть 4.1 –Типы полей. Базовые.

Автор: | 29 октября, 2019

В прошлой статье мы рассмотрели, что такое поля в 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *