Dropdown Value from DB Entry

时间:2019-02-15 作者:user3692010

我在数据库中捕获了一个月,并且记录了值(整数),但当我尝试将所选内容添加到下拉列表中时,因此当用户返回时,它会反映月份,我无法确定需要设置什么下拉列表来反映以前提交的整数值。如果有人能分享我所选代码中缺失的内容,我将不胜感激。

    $months = array(
        1=>\'January\',
        2=>\'February\',
        3=>\'March\',
        4=>\'April\',
        5=>\'May\',
        6=>\'June\',
        7=>\'July\',
        8=>\'August\',
        9=>\'September\',
        10=>\'October\',
        11=>\'November\',
        12=>\'December\'
    );

    $birth_date_month = get_the_author_meta( \'birth_date_month\', $user->ID );

    <?php
    foreach ( $months as $num => $month ) {
        printf(\'<option value="%u">%s</option>\', $num, $month, selected( $birth_date_month, $num, false ) );
    }
    ?>

1 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

您实际上没有输出selected 属性转换为<option> 标签看看你的printf() 格式:

\'<option value="%u">%s</option>\'
%u 是否有月份的数值,以及%s 是否有月份名称,但您没有包括selected().

你的printf() 需要如下所示:

printf(
    \'<option value="%u" %s>%s</option>\', 
    $num, 
    selected( $birth_date_month, $num, false ), 
    $month
);
注意,我交换了参数的顺序,因为selected 需要在月份名称之前输出。

相关推荐

定制器JS API:添加“Dropdown-Pages”控件

添加页面列表的正确方法是什么(type: dropdown-pages) 使用Customizer JS API?目前,我有此代码,但它不显示控件:api.control.add( new api.Control( \'custom-control\', { type: \'dropdown-pages\', section: \'custom-section\', setting: new wp.customize.Setting( \'custom-control\