我的插件中有两个选项回调,一个带有ckeckbox,另一个带有select字段。第一个工作正常,第二个工作不正常。选择字段不保存其值。我仔细检查了注册这两个设置的代码,我认为我的错误在回调中的某个地方。
有什么想法吗?
复选框(工作):
public function myplugin_post_menu_cb() {
echo \'<input type="checkbox" name="\' . $this->option_name . \'_post_menu\' . \'" value="1" "\' . checked(1, get_option(\'myplugin_post_menu\'), false) . \'" />\';
}
选择(不工作):
public function myplugin_admin_bar_cb() {
echo \'<select name="\' . $this->option_name . \'_admin_bar\' . \'">\';
echo \'<option value="1" "\' . selected( get_option(\'myplugin_admin_bar\'), 1 ) . \'">1</option>\';
echo \'<option value="2" "\' . selected( get_option(\'myplugin_admin_bar\'), 2 ) . \'">2</option>\';
echo \'</select>\';
}
谢谢你的帮助。
SO网友:Jacob Peattie
问题是你打电话给selected()
您尚未将第三个参数设置为false
. 对于两者selected()
和checked()
如果不这样做,它将立即回显该属性,如果在串联字符串中使用该属性,则无法正常工作。
So更改:
selected( get_option(\'myplugin_admin_bar\'), 1 )
收件人:
selected( get_option(\'myplugin_admin_bar\'), 1, false )