我正在使用Wordpress Settings API
。除了select
下拉列表外,其他所有内容都可以正常工作。当我选择一个选项时,回显的值是正确的,但在下拉列表中显示默认的第一个值,即6
,而不是所选的值。我哪里错了?
public function someplugin_select() {
$options = get_option( 'plugin_252calc');
echo $options; //shows the correct value selected
$items = array();
for ($i=6; $i <=10; $i+= 0.1)
{
$items[] = $i;
}
echo '<select id="cf-nb" name="cf-nb">';
foreach ( $items as $item )
{
echo '<option value="'. $item .'"';
if ( $item == $options ) echo' selected="selected"';
echo '>'. $item .'</option>';
}
echo '</select>';
}
答案 0 :(得分:1)
您不需要两个独立的循环,只需一个for
循环即可完成所有操作。除此之外,您还需要按以下方式更改someplugin_select()
方法,
public function someplugin_select() {
$options = round(floatval(get_option( 'plugin_252calc')), 1);
echo '<select id="cf-nb" name="cf-nb">';
for ($i = 6.0; $i <= 10.0; $i += 0.1){
$output = '<option value="'. $i .'"';
if ( $options == round($i, 1) ){
$output .= ' selected="selected"';
}
$output .= '>'. $i .'</option>';
echo $output;
}
echo '</select>';
}