插件更新钩子

13
我的插件需要在WP仪表板自动更新插件时触发一个初始化/构建/检查函数。
是否有WordPress钩子在插件从wordpress.org存储库更新后被触发?
我不要求“register_activation_hook”或“register_deactivation_hook”,因为这些只在手动激活/停用时执行。
1个回答

21

是的,upgrader_process_complete [也请参阅:核心参考] 可以实现这一点。检查第二个参数,以确定它是核心、插件还是主题更新,以及它是否是批量更新。

add_action( 'upgrader_process_complete', function( $upgrader_object, $options ) {
    // inspect $options
}, 10, 2 );

谢谢。这看起来很有前途。你知道这个钩子是最近添加的吗?文档不完整。 - Darren Cooney
1
看起来是 [14 个月前](https://core.trac.wordpress.org/changeset/23912)。你可以测试一下,并使用你的发现更新 Codex ;) - brasofilo
3
如果有人真的想使用来自codex的代码,我发现有一个小错误。我已经修复了它。" $options ['packages'] " 应该改成 " $options ['plugins'] "。 - Pablo S G Pacheco
根据@brasofilo的评论,似乎是在2013年4月4日添加的。 - Max Carroll
4
值得注意的是,文件还说:“谨慎使用:当您在插件中使用upgrader_process_complete action hook时,并且您的插件正在升级时,则此操作将运行您插件的旧版本。”只是想提一下这一点。 - Max Carroll
2
实际上,这将使upgrader_process_complete对OP所述的目的完全无用。 - Gwyneth Llewelyn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接