复选框不会在插件设置页面上保持选中状态

Gre*_*g L 5 php wordpress

我写的插件页面上的复选框字段不会保持检查状态.正在保存数据,但复选框不反映当前存储的值(已选中).

这是我的功能代码:

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']}' />";
}
Run Code Online (Sandbox Code Playgroud)

add_settings_field代码:

add_settings_field('jo_checkbox_del', 'Hide Delete Button: ', array($this, 'jo_checkbox_del_setting'), __FILE__, 'jo_main_section');
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

正如您在图片中看到的那样,值为1会被检查,但刷新后复选框永远不会保持检查状态.

bra*_*ilo 11

我更喜欢使用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 )
);
Run Code Online (Sandbox Code Playgroud)