我在数据库中捕获了一个月,并且记录了值(整数),但当我尝试将所选内容添加到下拉列表中时,因此当用户返回时,它会反映月份,我无法确定需要设置什么下拉列表来反映以前提交的整数值。如果有人能分享我所选代码中缺失的内容,我将不胜感激。
$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 ) );
}
?>
最合适的回答,由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
需要在月份名称之前输出。