Field type: post_select
Renderer class: WPContent
Aliases using the same renderer: cpt_select, page_select, post_autocomplete, post_checkbox, post_radio, post_relation
Post selector dropdown.
String unless the field options enable multiple/nested values.
| 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. |
| Attribute | Type | Description |
|---|---|---|
limit |
int | Maximum items to load/show. |
multiple |
bool | Allow selecting more than one value. Saved value becomes an array. |
order |
string | ASC or DESC. |
orderby |
string | Post query orderby value such as date, title, or menu_order. |
post_status |
string | array |
post_type |
string | array |
variant |
string | Renderer variant, for example select, checkbox, radio, autocomplete, or relation. |
KAVRO::createSection( $prefix, array(
'title' => 'Post Select Example',
'fields' => array(
array(
'id' => 'demo_post_select',
'type' => 'post_select',
'title' => 'Post Select',
'subtitle' => 'Post Select field example.',
'desc' => 'This is a documented post_select field example.',
'post_type' => 'post',
'post_status' => 'publish',
'limit' => 20,
'default' => 'Example value',
),
),
) );KAVRO::createSection( $metabox_prefix, array(
'title' => 'Post Select Meta',
'fields' => array(
array(
'id' => 'demo_post_select',
'type' => 'post_select',
'title' => 'Post Select',
'subtitle' => 'Post Select field example.',
'desc' => 'This is a documented post_select field example.',
'post_type' => 'post',
'post_status' => 'publish',
'limit' => 20,
'default' => 'Example value',
),
),
) );$customize_prefix = 'kavro_customize_demo';
KAVRO::createCustomizeOptions( $customize_prefix, array(
'title' => 'Kavro Customizer Demo',
) );
KAVRO::createSection( $customize_prefix, array(
'title' => 'Post Select Customizer',
'fields' => array(
array(
'id' => 'demo_post_select',
'type' => 'post_select',
'title' => 'Post Select',
'subtitle' => 'Post Select 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' => 'Post Select Term Field',
'fields' => array(
array(
'id' => 'demo_post_select',
'type' => 'post_select',
'title' => 'Post Select',
'subtitle' => 'Post Select 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' => 'Post Select User Field',
'fields' => array(
array(
'id' => 'demo_post_select',
'type' => 'post_select',
'title' => 'Post Select',
'subtitle' => 'Post Select 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' => 'Post Select Menu Item Field',
'fields' => array(
array(
'id' => 'demo_post_select',
'type' => 'post_select',
'title' => 'Post Select',
'subtitle' => 'Post Select 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' => 'Post Select Widget Field',
'fields' => array(
array(
'id' => 'demo_post_select',
'type' => 'post_select',
'title' => 'Post Select',
'subtitle' => 'Post Select 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' => 'Post Select Comment Field',
'fields' => array(
array(
'id' => 'demo_post_select',
'type' => 'post_select',
'title' => 'Post Select',
'subtitle' => 'Post Select 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_post_select',
'type' => 'post_select',
'title' => 'Post Select',
'subtitle' => 'Post Select field example.',
'desc' => 'This example uses the same field configuration in this framework context.',
),
),
) );$value = kavro_get_option( $prefix, 'demo_post_select', null );$value = kavro_get_post_meta( get_the_ID(), $metabox_prefix, 'demo_post_select', null );$value = get_theme_mod( 'demo_post_select', null );$value = kavro_get_term_meta( $term_id, $taxonomy_prefix, 'demo_post_select', null );$value = kavro_get_user_meta( $user_id, $profile_prefix, 'demo_post_select', null );$value = kavro_get_nav_menu_item_meta( $menu_item_id, $nav_menu_prefix, 'demo_post_select', null );$value = kavro_get_widget_option( $widget_id, $widget_prefix, 'demo_post_select', null );$value = kavro_get_comment_meta( $comment_id, $comment_prefix, 'demo_post_select', 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_post_select'] ) ? $atts['demo_post_select'] : null;This field queries WordPress data. Keep limit reasonable on large sites and prefer AJAX/autocomplete variants for large datasets.