添加单引号。
使用spg_settings['enable']
代替
始终使用引号字符串常量数组索引。例如,$ foo ['bar']是正确的,而$ foo [bar]不是。但为什么?在旧脚本中遇到这种语法是很常见的:
<?php
$foo[bar] = 'enemy';
echo $foo[bar];
// etc
?>
这是错误的,但它有效。原因是这段代码有一个未定义的常量(bar)而不是一个字符串('bar' - 注意引号)。 PHP可能在将来定义常数,不幸的是,这些代码具有相同的名称。它的工作原理是PHP自动将一个裸露的字符串(不与任何已知符号对应的未加引号的字符串)转换为包含裸露字符串的字符串。例如,如果没有定义的常量bar,那么PHP将替换字符串'bar'并使用它。
UPDATE1:
更换
<input type="text" id="spg_settings['twitter_url']" name="spg_settings['twitter_url']" value="<?php echo $spg_options['twitter_url']; ?>"/>
用的代码如下行
<input type="text" id="spg_settings['twitter_url']" name="spg_settings['twitter_url']" value="<?php echo (isset($spg_options['twitter_url'])) ? $spg_options['twitter_url'] : ''; ?>"/>
UPDATE2:
而更换
<input id="spg_settings['enable']" name="spg_settings['enable']" type="checkbox" value="1" <?php checked(1, $spg_options['enable']); ?> />
与
<input id="spg_settings['enable']" name="spg_settings['enable']" type="checkbox" value="1" <?php checked(1, (isset($spg_options['enable'])) ? $spg_options['enable'] : 0); ?> />
欲了解更多信息,请查看here
查看我的更新回答 –
再次检查,是代码中的错误 –
我想我不能让你理解。这在你现在已经回答之前已经有效了。但是现在我使用了你的代码,但是它没有保存任何东西。我以前的工作很好。 我的问题是在这里, /> 对不起,请勿将代码置于正确的方式 – aarif