我正在开发一个插件,但我显然遗漏了一些东西。
我创建的复选框的选项是保存,但我还创建了一个下拉菜单。由于某种原因,下拉菜单不会保存我的选择。想法?
//add for settings page
add_settings_field("add-sizing", "Icon size", "add_sizing_function", "rcktcld-social", "admin_settings_section");
//register
register_setting("admin_settings_section", "add-sizing");
<?php function add_sizing_function() { ?>
<select name="add-sizing">
<option value="60" <?php selected( "add-sizing", 60 ); echo esc_attr( __( 'Select page' ) ); ?> >X-Large</option>
<option value="48" <?php selected( "add-sizing", 48 ); echo esc_attr( __( 'Select page' ) ); ?> >Large</option>
<option value="32" <?php selected( "add-sizing", 32 ); echo esc_attr( __( 'Select page' ) ); ?> >Medium</option>
<option value="24" <?php selected( "add-sizing", 24 ); echo esc_attr( __( 'Select page' ) ); ?> >Small</option>
</select>
}
答案 0 :(得分:0)
它们可能保存得很好,但你没有正确使用selected
函数:它比较两个值是否相等,"add-sizing"
永远不等于数字。
您希望将第一个参数替换为实际选项值,如下所示:
$add_sizing_setting = get_option( 'add-sizing' );
...
<option value="60" <?php selected( $add_sizing_setting, 60 ); .....
<option value="48" <?php selected( $add_sizing_setting, 48 ); .....
...