2

我制作了一个WordPress插件,它的所有选项都保存在wp_options表中,作为单个选项下的数组。现在我用一个新的布尔选项制作了一个新版本的插件,该选项在插件的选项页面上用一个复选框设置。

我希望默认选中该选项,这对插件的全新安装没有问题,但它是插件升级的问题。

问题是,未选中的复选框并未将选项数组键设置为 false,而是将其从数组中全部删除,因此我无法区分该值是尚未设置还是用户设置为 false .

AFAIK 插件更新没有动作挂钩。

在插件更新期间,是否有一种优雅且首选的方式来为新插件选项设置默认值?

4

1 回答 1

1

处理升级路径的正确方法是仅在需要时运行升级过程。理想情况下,您会在插件的数据库选项中存储一个“版本”,然后在代码中存储一个版本。如果它们不匹配,您将触发升级过程,然后将数据库选项设置为等于代码中的版本。这是处理升级的插件数量,这也是核心的工作方式。

于 2012-11-20T20:27:41.353 回答