我编写的插件页面上的复选框字段不会保持选中状态。正在保存数据,但复选框未反射(reflect)当前存储的值(已选中)。
这是我的函数代码:
public function jo_checkbox_del_setting()
{
echo "<input id='jo_checkbox_del' name='jo_plugin_options[jo_checkbox_del]' type='checkbox' value='{$this->options['jo_checkbox_del']}' />";
}
和 add_settings_field
代码:
add_settings_field('jo_checkbox_del', 'Hide Delete Button: ', array($this, 'jo_checkbox_del_setting'), __FILE__, 'jo_main_section');
正如你在图片中看到的那样,值为 1 已选中,但复选框在刷新后永远不会保持选中状态。
最佳答案
我更喜欢使用 WordPress checked()
函数 printf()
(有关用法示例,请参阅 sprintf()
的页面):
printf(
'<input id="%1$s" name="jo_plugin_options[%1$s]" type="checkbox" %2$s />',
'jo_checkbox_del',
checked( isset( $this->options['jo_checkbox_del'] ), true, false )
);
关于php - 复选框不会在插件设置页面上保持选中状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18675307/