为什么更新选项不起作用?

时间:2015-07-09 作者:Bhavin Toliya

我有以下不起作用的代码:

var_dump($resp[\'status\']); //output: \'status\' => string \'yes\' (length=3) 
update_option(\'acp_cf_settings\' , array(\'acp_cf_status\'=>$resp[\'status\']));
update_option(\'acp_cf_settings\' , array(\'acp_cf_log\'=>$resp[\'log\']));
$options = get_option(\'acp_cf_settings\');
$resp[\'status\'] = $options[\'acp_cf_status\'];
var_dump($resp[\'status\']); //output: \'status\' => null
此处$resp是一个数组,“acp\\u cf\\u log”设置已更新,但“acp\\u cf\\u status”未更新,所以我哪里出错了?

谢谢

1 个回复
最合适的回答,由SO网友:webtoure 整理而成

update_option(\'acp_cf_settings\' , array(\'acp_cf_status\'=>$resp[\'status\']));
update_option(\'acp_cf_settings\' , array(\'acp_cf_log\'=>$resp[\'log\']));
您正在覆盖设置。第二次之后update_option 打电话没有acp_cf_status 对于数组变量,只需acp_cf_log.

为了明确起见,您需要这样的东西:

update_option( \'acp_cf_settings\', array(
    \'acp_cf_status\' => $resp[\'status\'], 
    \'acp_cf_log\' => $resp[\'log\'],
) );

结束

相关推荐