Плагин Carbon fields. Часть 4 – Использование полей

Автор: | 15.07.2019

Поля в Carbon fields являются строительным блоком каждого контейнера. Новое поле создается с помощью метода make Field:: make( $type, $name, $label = null), где:

$type –  тип поля.

$name — имя поля. Используется в качестве ключа при хранении в базе данных и для получения его значения. Обратите внимание, что все поля имеют свои имена автоматически с префиксом подчеркивания при хранении (например, bgcolor становится _bgcolor).

$label (необязательно) — метка поля отображается только в фоновом режиме, где виден контейнер. Если параметр опущен, он автоматически выводится из $name, если этот параметр опущен, и $name начинается с crb_, часть crb не будет отображаться в сгенерированной метке.

Примеры

// Создать поле изображения с именем «customer_photo» и меткой » Photo »

Плагин Carbon fields. Часть 4 – Использование полей

 

Field::make( 'image', 'crb_customer_photo', 'Photo' )

 

// Метод цепочки

Плагин Carbon fields. Часть 4 – Использование полей

 

Field::make( 'select', 'crb_color' )

->

add_options( array('red', 'blue', 'green') )

->

set_help_text( 'Pick a color' )

 

Все типы полей происходят из одного класса с именем Field и наследуют следующие основные функции:

Значение по умолчанию

Можно назначить значение по умолчанию для каждого поля в каждом контейнере. Значение по умолчанию используется, когда в настоящее время нет значения для конкретного поля в базе данных. Это происходит, например, при добавлении новой записи или нового поля параметров темы в существующий контейнер.

Чтобы назначить значение по умолчанию, используйте:

Field::make(…)->set_default_value( $default_value )

Например

 

->add_fields( array(

Field::make( 'text', 'crb_title',__( 'Title' ) )

->set_default_value( "value" )  // по умолчанию

 

Плагин Carbon fields. Часть 4 – Использование полей

Требуемые поля

Вы можете пометить любое поле по мере необходимости, в этом случае пользователю необходимо будет заполнить его перед отправкой. Чтобы задать необходимое поле, используйте:

Field::make(…)->set_required( true )

Плагин Carbon fields. Часть 4 – Использование полей

Вот полная запись:

 

Container::make( 'theme_options', __( 'Customize Background' ) )

->add_fields( array(

Field::make( 'text', 'crb_title',__( 'Title' ) )

->set_default_value( "value" )

->set_required( true )

) );

 

Текст справки

Текст справки используется как подсказка пользователю, который будет использовать поле. Он обычно отображается под полем и содержит больше информации о том, что он должен содержать – требования, примеры, ссылки и т. д. HTML теги разрешены.

Текст справки добавляется с помощью:

Field::make(…)->set_help_text( $text )

Ширина

Вы можете установить ширину полей, которые находятся рядом друг с другом, и они будут выровнены по одной строке. Чтобы задать ширину поля в %, используйте:

Field::make(…)->set_width( 50 )

Например

 

Field::make( 'text', 'crb_title',__( 'Title' ) )

->set_default_value( "value" )

->set_required( true )

->set_width( 80 ) ,

Field::make( 'text', 'crb_title1',__( 'Title1' ) )

->set_width( 20 ) ,

 

Плагин Carbon fields. Часть 4 – Использование полей

Классы

Пользовательские классы полей могут быть добавлены с помощью метода set_classes (), например:

 

Field::make(...)->set_classes( 'my-custom-class' )

 

Атрибуты

Некоторые атрибуты полей можно переопределить с помощью метода set_attribute() полей на основе <input> и <textarea>:

 

Field::make( 'text', 'crb_phone', 'Phone' )

->

set_attribute( 'placeholder', '(***) ***-****' );

 

Условная логика

Вы можете применить условную логику к полю, используя set_conditional_logic( $rules ), чтобы показать или скрыть его на основе других полей в том же контейнере. Синтаксис аналогичен meta_query.

Условные правила передаются в двумерном массиве, и каждое правило может иметь следующие аргументы в виде пар ключ=>значение:

Ключ Описание Тип Знач-е по умолчанию Обязательный
field Имя поля, к которому применяется правило. Имя должно быть таким же, как определено в контейнере. string Yes
value Значение поля. Это может быть массив только тогда, когда compare это IN, NOT IN, INCLUDES or EXCLUDES. String или array «» No
compare Оператор для проверки. Возможные значения: =, <, >, <=, >=, IN, NOT IN, INCLUDES, EXCLUDES. string = No

При необходимости можно передать ключ связи и задать для него значение AND (по умолчанию) или OR. Он определяет отношение, когда существует более одного правила.

Например, сделаем 2 поля, если в первом значится «yes» показываем второе, если «no» — срываем.

 

Field::make( 'select', 'crb_show_socials', 'Show Socials' )

->add_options( array(

'yes' => 'Yes',

'no' => 'No',

) ),

Field::make( 'text', 'crb_facebook', 'Facebook URL' )

->set_conditional_logic( array(

'relation' => 'AND', // Необязательно, по умолчанию "AND"

array(

'field' => 'crb_show_socials',

'value' => 'yes', // Необязательно, по умолчанию "".

'compare' => '=', // Необязательно, по умолчанию "=". Доступные операторы: =, <, >, <=, >=, IN, NOT IN

)

) ),

 

Плагин Carbon fields. Часть 4 – Использование полей

Поля условной логики ограничены родственными полями текущего поля.

Чтобы зависеть от родительских полей, добавьте к их именам префикс parent. Например, чтобы зависеть от поля crb_in_production, которое находится на 2 уровня выше, используйте parent.parent.crb_in_production.

Пример:

 

Field::make( 'checkbox', 'crb_in_production', 'In Production' ),

Field::make( 'complex', 'crb_makes', 'Makes' )

->add_fields( array(

Field::make( 'complex', 'models', 'Models' )

->add_fields( array(

Field::make( 'text', 'name', 'Name' ),

Field::make( 'text', 'price', 'Price' )

->set_conditional_logic( array(

array(

'field' => 'parent.parent.crb_in_production',

'value' => true,

)

) )

) )

) ),

 

Плагин Carbon fields. Часть 4 – Использование полей

Плагин Carbon fields. Часть 4 – Использование полей

Contact form 7- как установить, настроить и использовать
Contact form 7

Contact form 7 — это, без сомнения, один из самых Read more

Конфликты плагинов WordPress
Конфликты плагинов WordPress

Конфликт плагинов WordPress может вывести из строя весь ваш сайт Read more

Плагины Для Создания Форума на WordPress
Плагины Для Создания Форума на WordPress

Поддерживать интерес и активность читателей на вашем сайте - довольно Read more

Lazy load — отложенная (ленивая) загрузка изображений и видео на wordpress
отложенная (ленивая) загрузка

Вы хотите улучшить скорость загрузки страницы вашего сайта WordPress? Увеличение Read more

Лучшие Плагины WordPress AMP
Лучшие Плагины WordPress AMP

Посетители вашего сайта получают доступ к его содержимому не только Read more

4 Самых Эффективных Плагина Для Удаления Вредоносных Программ WordPress
4 Самых Эффективных Плагина Для Удаления Вредоносных Программ WordPress

Ваш WordPress взломан или заражен вредоносными программами? Если да, то Read more

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

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

1 + шесть =