我正在使用CMB2's select來拉取用戶可以在自定義元框中選擇的帖子列表。使用CMB2選擇字段類型設置默認選項
我已經添加了一個「空白」選項的選項數組,但我不知道如何使該默認選項(即<option selected="selected" value="">I'm blank</option>
)。
我需要這樣做,所以我可以使用一個if語句,說如果該字段爲空,不要在網站上顯示輸出框。現在,即使用戶沒有專門選擇一個選項,也會傳遞一個帶有值的選項。
這裏是元框代碼:
$link_post_types = array('charter', 'page');
$meta_boxes['ms_metabox'] = array(
'id' => 'ms_metabox',
'title' => __('Page Links', 'cmb2'),
'object_types' => array('page'),
'context' => 'normal',
'priority' => 'high',
'show_names' => true,
'fields' => array(
array(
'name' => __('Page Link', 'cmb2'),
'desc' => __('Choose the page this will link to', 'cmb2'),
'id' => $prefix . 'page_link',
'type' => 'select',
'options' => ms_get_posttype_options($link_post_types),
),
),
);
function ms_get_posttype_options($argument) {
$get_post_args = array(
'post_type' => $argument,
'posts_per_page' => -1,
'orderby' => 'type',
'order' => ASC
);
$options = array();
foreach (get_posts($get_post_args) as $post) {
$post_type = get_post_type($post->ID);
$title = get_the_title($post->ID);
$permalink = get_permalink($post->ID);
$options[] = array(
'name' => $title . ' : ' . $post_type,
'value' => $permalink,
);
}
$empty_option[] = array(
'name' => 'Please select an option',
'value' => '',
);
$options = array_merge($empty_option, $options);
return $options;
}
有一個default
的說法,但是,當我試圖把它應用在本例中,它沒有工作。
感謝您的幫助!