是否将插件页面内容存储在wp_Options中?

时间:2015-09-08 作者:user1291510

我想为wordpress编写一个插件,在某些情况下,它会显示一些内容,就像表单处理的最终结果是一篇文章或页面一样。

我的想法是添加一个钩子,用于检查和拦截来自表单的GET或POST请求,并在处理时以POST/页面的形式显示一些消息。

由于我希望能够更改文本,我希望有一个插件页面,其中包含文本编辑器,并在需要时将结果存储在数据库中。

那么,我的问题是:这样一条消息(最终是一篇帖子/页面)是应该写入wp\\U选项,还是有更好的方法?

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

简短回答:这是合法而恰当的解决方案。

详细回答:

1. About the table capacity

考虑到_options 表结构

option_id    | bigint(20)
option_name  | varchar(64)
option_value | longtext
autoload     | varchar(20)
事实上option_value (将包含您的HTML),是longtext - 它可以存储L + 4 bytes, where L < 2^32 (4 GB的信息)。

我想说的更多:可以包含以文本形式存储的选项的序列化数组比key-value 在db优化方面成对(理解为在meta/option_name - meta/option_value, 效率较低)。

2. About storing the HTML

别忘了角色会逃到那里。

<?php echo stripslashes( get_option( \'your_option\' ) ); ?>, 以便输出内容。

更高级的解决方案可能是序列化阵列。但如果你想储存一些key-value “选项”对附加到HTML中。

3. The API.

_options 可以通过用户友好的API访问表

  1. get_option()
  2. add_option()
  3. update_option()