Option doesn't save

时间:2014-09-04 作者:user1463249

我正在学习wordpress设置api,并尝试了一些教程。我想将选项另存为数组。我为该选项设置了一些默认值,它工作正常,但保存设置后,它将变为空字符串(0)。怎么会这样?

我对表单元素的回调如下:

function render_checkbox($html_args){
extract($html_args);
$option_name = \'di_theme_options\';
$option = get_option(\'di_theme_options\');
printf(
    \'<input type="checkbox" name="%1$s[%2$s]" id ="%2$s" value = "1" %3$s />\',
    $option_name,
    $id,
    checked(1, $option[$id],false)
);
}

1 个回复
SO网友:aifrim

选项是以字符串形式保存在数据库中的元信息。数组是一个特定于内存的变量,它有自己的特点。

但每个问题都有一个解决方法:

$myoption = json_encode($the_array();
add_option(\'myoption\', $myoption, \'\', \'yes\');
现在获取它:

$myoption = json_decode(get_option(\'myoption\'));
瞧。

保存选项时,我将其转换为json字符串格式,以便符合数据库表字段规范;提取选项时,我将其从json转换回数组。

结束

相关推荐