Plugin Upgrade Strategy

时间:2011-01-30 作者:ariefbayu

阅读register_activation_hook() 告诉我,在wordpress 3.1中,这只适用于每个插件激活,而不适用于插件升级。

我想知道的是,什么是最好的插件升级策略?

我的想法是:

如果{plugin\\u name}\\u version(插件名称)},让我们假设它来自上一个版本(因为在该版本中,我们还没有{plugin\\u name}\\u version”选项。转到进程2。

  • 如果{plugin\\u name}\\u version”选项存在并且与脚本中设置的{plugin\\u name}\\u version”不匹配,请转到进程2。
  • 如果{plugin\\u name}\\u version”选项与{plugin name}_在脚本中设置版本,退出进程
  • 启动我们的插件升级功能,参数为{plugin\\u name}\\u version“值
  • 执行此升级过程所需的任何操作
  • 升级过程完成后,从脚本中将{plugin\\u name}\\u version“选项设置为{plugin\\u name}\\u version”
  • 对此过程有何评论?

    1 个回复
    SO网友:MikeSchinkel

    最近,wp黑客名单上详细讨论了这一点。以下是线索:

    引用Otto 从列表中:

    在任何地方都适用的最简单方法就是将插件的版本号存储在某个地方(如数据库中的选项条目),然后将存储的版本与已知的当前版本和硬编码版本进行比较。当您检测到差异时,这意味着已经进行了升级,您可以采取相应的行动。另一种方法是让插件检测过时的选项或旧模式,并动态升级。这可能是最可靠的,但这取决于您升级的具体内容。你不一定能把它变成“通用的”。

    结束

    相关推荐

    Plugin upgrade issue

    我正在更新wordpress网站上安装的插件。然而,几乎一个小时以来,它仍处于维护模式。当我无意中重装时,我看到了白色的死亡大屏幕,上面写着:\"Briefly unavailable for scheduled maintenance. Check back in a minute.\"我能做些什么来解决这个烂摊子吗?