如何从Web钩子/端点执行插件和主题更新?

时间:2021-03-23 作者:ralphjsmit

我正在尝试添加WordPress REST API端点。我现在想添加一个端点,用于检索可用插件、主题和核心更新的列表。

我发现了以下功能:get_plugin_updates(), get_theme_updates()get_core_updates(). 使用这些函数,我可以检索有关要更新哪些插件的信息。

如何启动插件/主题/核心的更新过程?我特别想更新一个单独的项目。类似于WP Manage和GoDaddy Hub。

如果有人能告诉我如何实现这一点以及如何启动更新过程,那就太好了!

1 个回复
最合适的回答,由SO网友:Bysander 整理而成

REST或任何RESTful都是通过API完成工作的普遍遵守的标准。它还具有记录自身的能力。

现在,我本想在这里写一个答案,说明允许端点更新或修改任何代码库都不是一个好主意,但我看到Automatic的优秀人员似乎认为这没问题,他们比我更了解核心,我还假设您在使用它之前需要经过身份验证。

访问[yourwordpresswebsite.com]/wp json/

它提供了一种端点库以及如何使用它们

如果你去routes 然后查找"/wp/v2/plugins/(?P<plugin>[^.\\/]+(?:\\/[^.\\/]+)?)"endpoints

您可以看到以下内容

    0   "GET"
        args    {…}
    1   
        methods 
        0   "POST"
        1   "PUT"
        2   "PATCH"
        args    {…}
    2   
        methods 
        0   "DELETE"
你可以匹配in the REST API docs on plugins

在我看来,通过API进行此类更新只是为了便于大规模推出。假设您有100台服务器运行相同的核心设置,并且您的测试得出的结论是安全的。

您也可以将WordPress设置为update itself automatically instead 省去你自己的麻烦。

有一些使用composer安装/更新WordPress的有趣示例。看看johnpbloch, satispress. 也是现成的Wordfence Central