OPTIONS表的数据序列化方式正确吗?

时间:2011-08-02 作者:devc

我正在编写一个插件,它需要大约15个不同的选项,所以我使用php序列化。我通过一个带有php序列化函数的数组和更新选项来实现这一点。

但当我从/wp-admin/options.php 我可以看到原始数据,但核心wordpress选项被锁定SERIALIZED DATA. 我想实现这样的东西。

1 个回复
SO网友:Scott

存储多个选项的正确方法是作为多维数组并保存到一个选项字段。

$myopt = array(
    \'variable1\' => ...
    \'variable2\' => ...
    ....
);
然后只需将数组传递给update_option()

update_option(\'my_settings_field\', $myopt);
如果传递数组,WP将为您自动序列化数据。

然后读出:

$myopt = get_option(\'my_settings_field\');
WP将自动取消序列化数据并将其放回数组中。

您在选项中提到了这一点。php您可以看到该选项显示为SERIALIZED DATA 这是因为您无法可靠地将序列化数据作为字符串进行编辑。如果希望能够从选项中编辑选项。php页面,然后需要单独保存每个选项。我不建议这样做。我建议您创建自己的选项页面来编辑选项。有很多教程可以帮助您入门。

http://codex.wordpress.org/Creating_Options_Pages

这是一个很好的起点。还可以查看Settings API

结束

相关推荐

prefix table and plugins

出于安全原因和良好实践等原因,我将我表的前缀从wp\\u1改为其他形式。我很好奇,大多数安装的新插件都采用了新前缀,但我有一个插件拒绝使用wp\\u1,并且仍然使用wp\\u2安装。它仍然有效,但我很好奇,这是正常的做法还是一个写得不好的插件?