【问题标题】:Is there a way to set default value for plugin option after plugin update?插件更新后有没有办法为插件选项设置默认值?
【发布时间】:2012-11-21 04:27:41
【问题描述】:

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

我想默认勾选这个选项,全新安装插件没问题,但是插件升级有问题。

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

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

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

【问题讨论】:

    标签: wordpress


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2010-12-20
      • 2011-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多