checked()、selected()、disabled(),这三个函数是主题设计和插件设计中添加后台设置比较常用到的函数。
例如自定义一个widget,这个widget有一个字段为文章排列方式。文章排列方式有:按时间、评论数、随机等。我们在制作这个widget时会做一个selected下拉菜单。当我们选择一个选项,如:按时间
。那么下次我们打开这个widget时,就会希望下拉菜单默认是选中按时间
这个选项。这就是 checked(),selected(),disabled() 的应用场景。以下以selected()
为例子:
selected()
用在表单中的下拉菜单,用于比较两个给定的值(比如:保存的值和当前的值),如果值相同,给当前的选项添加 selected 属性。
用法
<?php selected( $selected, $current, $echo); ?>
参数
$selected
(mixed) (required) 用于比较的值,已经在数据库中保存的。
Default: None
$current
(mixed) (optional) 另外的值(如果不为 true),当前选项的值。
Default: true
$echo
(boolean) (optional) 返回结果是输出还是返回字符串。
Default: true
代码
<!-- 使用 if() 来测试值 -->
<select name="options[foo]">
<option value="1" <?php if ( $options['foo'] == 1 ) echo 'selected="selected"'; ?>>1</option>
<option value="2" <?php if ( $options['foo'] == 2 ) echo 'selected="selected"'; ?>>2</option>
<option value="3" <?php if ( $options['foo'] == 3 ) echo 'selected="selected"'; ?>>3</option>
</select>
<!-- 使用 selected() -->
<select name="options[foo]">
<option value="1" <?php selected( $options['foo'], 1 ); ?>>1</option>
<option value="2" <?php selected( $options['foo'], 2 ); ?>>2</option>
<option value="3" <?php selected( $options['foo'], 3 ); ?>>3</option>
</select>