自定义数据库表问题

时间:2012-07-03 作者:Matthew Ruddy

因此,关于为我的插件Easing Slider创建一个新的数据库表,我有一个问题,该插件正在进行一次重大的检修。

到目前为止,我一直依靠update_option, get_option, 以及保存、编辑和获取插件设置的各种功能。它运行得很好,但我遇到了一个小问题。

因此,更大的插件“premium”brother允许您播放多个幻灯片。这是通过在单个选项中保存多维数组来实现的。然后,我有一个函数,可以根据指定的ID选择一个特定的数组,作为获取特定幻灯片设置的焦点。

问题是,这个插件允许无限的幻灯片,每个幻灯片都有无限的图像。许多用户已经制作了数百张幻灯片,少数用户在这一点上遇到了问题。可以想象,(例如)100个幻灯片,每个幻灯片有20个图像,每个图像有大约20个不同的设置,一个数据库选项可能会非常大。因此,由于未知的原因,奇怪的用户体验出现问题,突然无法创建新的幻灯片或图像,即使\'update_option\' 报告是真的,让我们知道它已经成功了。我们只能假设这是因为数据库选项已经达到了极限(可能是错误的,我不知道为什么)。

因此,我正在考虑改变工作方式并使用自定义数据库表。然而,有一件事我无法理解,那就是动态创建表。插件的本质是经常添加和删除新功能。过滤器挂钩还允许用户轻松添加自己的新功能/设置。理想情况下,每个设置都有自己的列。

作为一个基本示例,我可以轻松地将各种设置的ID编译成单个数组。但是,是否可以从这样简单的数组创建数据库表?

$array = array( \'option_one\', \'option_two\', \'option_three\' );

1 个回复
SO网友:Bainternet

我建议使用自定义帖子类型来存储幻灯片,然后任何自定义功能/设置都可以存储为每个幻灯片的自定义字段(在Posteta表中),这将为您提供一个本机管理UI,因此您只需将功能/设置添加为元框即可。

这就是我对主题幻灯片所做的:)

结束

相关推荐