首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用CMB2设置默认选项选择字段类型

使用CMB2设置默认选项选择字段类型
EN

Stack Overflow用户
提问于 2014-10-06 04:52:25
回答 2查看 2.7K关注 0票数 2

我正在使用CMB2's select来拉入一个帖子列表,用户可以在自定义元框中从中进行选择。

我已经在选项数组中添加了一个“空白”选项,但我不知道如何将其设置为默认选项(即。<option selected="selected" value="">I'm blank</option>)。

我需要这样做,这样我才能使用if语句,声明如果字段为空,则不在站点上显示输出框。现在,即使用户没有明确选择一个选项,也会传递一个带有值的选项。

下面是meta box代码:

代码语言:javascript
复制
$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参数,但当我尝试像示例中那样应用它时,它不起作用。

谢谢你的帮助!

EN

回答 2

Stack Overflow用户

发布于 2014-10-08 07:26:27

我已经想了一半了。我遇到问题的帖子是我在添加空白选项之前就已经处理过的旧帖子--当我创建新帖子时,默认选项是空白的(因为它是合并中的第一个数组)。

不过,如果有人有更安全的解决方案,我很想听听!

票数 1
EN

Stack Overflow用户

发布于 2016-03-22 01:20:22

您可以将以下内容添加到meta box字段数组中:

代码语言:javascript
复制
show_option_none' => true
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26207091

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档