好的,正如您在WordPress参考的贡献示例中所看到的那样,add\\u settings\\u field并不是神奇地知道设置是真是假,它不限于复选框(布尔标志):
相反,函数签名明确指出$callback
参数它是必需的。介绍中说:
$callback参数应该是一个函数的名称,该函数会回显此设置字段的html输入标记。使用get\\u option()检索要显示的现有值。
也许应该这么说get_option
建议(因为这更容易)在数据库中显示存储的设置,但您可以决定如何在回调函数中使用它,以及该控件如何呈现选项。
在里面this example provided, 是的,它是一个复选框,可根据存储的值选中(或不选中):
function callback_input_myid() {
echo "<input type=\'checkbox\' id=\'mynewcheckboxID\' value=\'1\'"
if ( get_option(\'mynewcheckboxID\') == \'1\' ) {
echo \' checked\';
}
echo \'/>\';
}
但正如我之前所说,它并不局限于布尔设置和复选框。您可以存储文本、颜色和函数render a ColorPicker来存储日期,因此可以渲染DatePicker,甚至可以将文件存储在base64中,但我不确定这是否可取,只需说明渲染的内容和检索的选项,这完全是您的责任。
简单地说,get_option
is just a convenient and pluggable way to do a SELECT FROM options
table.