我制作了一个 WordPress 插件,其所有选项都保存在 wp_options 表格中,作为数组在一个选项下。现在我使用一个新的布尔选项创建了一个新版本的插件,该选项在插件的选项页面上设置了一个复选框。
我希望默认情况下选中该选项,这对于全新安装插件没有问题,但插件升级是一个问题。
问题是,未选中的复选框没有将选项数组键设置为false但是将它从数组中全部删除,因此我无法区分该值是否尚未设置或者它用户设置为false。
AFAIK没有针对插件更新的动作挂钩。
在插件更新期间,是否有一种优雅且首选的方式为新插件选项设置默认值?
答案 0 :(得分:1)
处理升级路径的正确方法是仅在需要时运行升级过程。理想情况下,您可以在插件的数据库选项中存储“版本”,然后在代码中存储一个版本。如果它们不匹配,您将启动升级过程,然后将数据库选项设置为等于代码中的版本。这就是有多少插件处理升级,这就是核心的工作方式。