Field type: form_builder
Renderer class: FormBuilder
Aliases using the same renderer: None
Form builder field.
Associative array or nested array, depending on sub-fields.
| Attribute | Type | Description |
|---|---|---|
id |
string | Required for data-saving fields. Unique key inside the option/meta array. Required for saving. |
type |
string | Required. Field type slug, for example text, select, or repeater. |
title |
string | Main field label displayed in the left column. |
subtitle |
string | Small helper text below the field title. |
desc |
string/html | Description displayed below the control. Limited HTML is allowed. |
default |
mixed | Default value used when there is no saved value yet. |
placeholder |
string | Placeholder text for input/select-like fields when supported. |
dependency |
array | Conditional visibility rules. Example: [ "field" => "enable", "operator" => "==", "value" => 1 ]. |
sanitize_callback |
callable | Custom sanitizer callback. Receives $value and $field. |
This field does not require special attributes beyond the common field attributes.
KAVRO::createSection( $prefix, array(
'title' => 'Form Builder Example',
'fields' => array(
array(
'id' => 'demo_form_builder',
'type' => 'form_builder',
'title' => 'Form Builder',
'subtitle' => 'Form Builder field example.',
'desc' => 'This is a documented form_builder field example.',
'default' => 'Example value',
),
),
) );KAVRO::createSection( $metabox_prefix, array(
'title' => 'Form Builder Meta',
'fields' => array(
array(
'id' => 'demo_form_builder',
'type' => 'form_builder',
'title' => 'Form Builder',
'subtitle' => 'Form Builder field example.',
'desc' => 'This is a documented form_builder field example.',
'default' => 'Example value',
),
),
) );$customize_prefix = 'kavro_customize_demo';
KAVRO::createCustomizeOptions( $customize_prefix, array(
'title' => 'Kavro Customizer Demo',
) );
KAVRO::createSection( $customize_prefix, array(
'title' => 'Form Builder Customizer',
'fields' => array(
array(
'id' => 'demo_form_builder',
'type' => 'form_builder',
'title' => 'Form Builder',
'subtitle' => 'Form Builder field example.',
'desc' => 'This example uses the same field configuration in this framework context.',
),
),
) );$taxonomy_prefix = 'kavro_taxonomy_demo';
KAVRO::createTaxonomyOptions( $taxonomy_prefix, array(
'taxonomy' => array( 'category', 'post_tag' ),
) );
KAVRO::createSection( $taxonomy_prefix, array(
'title' => 'Form Builder Term Field',
'fields' => array(
array(
'id' => 'demo_form_builder',
'type' => 'form_builder',
'title' => 'Form Builder',
'subtitle' => 'Form Builder field example.',
'desc' => 'This example uses the same field configuration in this framework context.',
),
),
) );$profile_prefix = 'kavro_profile_demo';
KAVRO::createProfileOptions( $profile_prefix, array(
'roles' => array( 'administrator', 'editor' ),
) );
KAVRO::createSection( $profile_prefix, array(
'title' => 'Form Builder User Field',
'fields' => array(
array(
'id' => 'demo_form_builder',
'type' => 'form_builder',
'title' => 'Form Builder',
'subtitle' => 'Form Builder field example.',
'desc' => 'This example uses the same field configuration in this framework context.',
),
),
) );$nav_menu_prefix = 'kavro_nav_menu_demo';
KAVRO::createNavMenuOptions( $nav_menu_prefix, array(
'title' => 'Kavro Menu Item Options',
) );
KAVRO::createSection( $nav_menu_prefix, array(
'title' => 'Form Builder Menu Item Field',
'fields' => array(
array(
'id' => 'demo_form_builder',
'type' => 'form_builder',
'title' => 'Form Builder',
'subtitle' => 'Form Builder field example.',
'desc' => 'This example uses the same field configuration in this framework context.',
),
),
) );$widget_prefix = 'kavro_widget_demo';
KAVRO::createWidgetOptions( $widget_prefix, array(
'title' => 'Kavro Widget Options',
) );
KAVRO::createSection( $widget_prefix, array(
'title' => 'Form Builder Widget Field',
'fields' => array(
array(
'id' => 'demo_form_builder',
'type' => 'form_builder',
'title' => 'Form Builder',
'subtitle' => 'Form Builder field example.',
'desc' => 'This example uses the same field configuration in this framework context.',
),
),
) );$comment_prefix = 'kavro_comment_demo';
KAVRO::createCommentOptions( $comment_prefix, array(
'title' => 'Kavro Comment Options',
) );
KAVRO::createSection( $comment_prefix, array(
'title' => 'Form Builder Comment Field',
'fields' => array(
array(
'id' => 'demo_form_builder',
'type' => 'form_builder',
'title' => 'Form Builder',
'subtitle' => 'Form Builder field example.',
'desc' => 'This example uses the same field configuration in this framework context.',
),
),
) );KAVRO::createShortcode( 'kavro_demo_shortcode', array(
'title' => 'Kavro Demo Shortcode',
'tag' => 'kavro_demo',
'fields' => array(
array(
'id' => 'demo_form_builder',
'type' => 'form_builder',
'title' => 'Form Builder',
'subtitle' => 'Form Builder field example.',
'desc' => 'This example uses the same field configuration in this framework context.',
),
),
) );$value = kavro_get_option( $prefix, 'demo_form_builder', null );$value = kavro_get_post_meta( get_the_ID(), $metabox_prefix, 'demo_form_builder', null );$value = get_theme_mod( 'demo_form_builder', null );$value = kavro_get_term_meta( $term_id, $taxonomy_prefix, 'demo_form_builder', null );$value = kavro_get_user_meta( $user_id, $profile_prefix, 'demo_form_builder', null );$value = kavro_get_nav_menu_item_meta( $menu_item_id, $nav_menu_prefix, 'demo_form_builder', null );$value = kavro_get_widget_option( $widget_id, $widget_prefix, 'demo_form_builder', null );$value = kavro_get_comment_meta( $comment_id, $comment_prefix, 'demo_form_builder', null );Shortcode field values are passed to the shortcode callback as attributes or normalized settings depending on your shortcode registration callback.
$value = isset( $atts['demo_form_builder'] ) ? $atts['demo_form_builder'] : null;This is a complex field. Treat the saved value as an array and inspect the returned structure before using it in frontend templates.