如何更改特定插件的插件更新服务器?

时间:2018-08-04 作者:Tanner

有一些特定的插件,我想使用我自己的repo来更新我的网站。我如何确定要针对的插件以及它们应该查看的服务器?

2 个回复
SO网友:Kaperto

这可以通过过滤器完成plugins_api :
https://developer.wordpress.org/reference/hooks/plugins_api/

请尝试以下代码:

add_filter("plugins_api", function ($plugins_api, $action, $args) {

    if ("plugin_information" !== $action) {
        return $plugins_api;
    }


    $pluginSlug = $args->slug;


    if (... update available ...) {

        $plugins_api = new \\stdClass();
        $plugins_api->name = $pluginSlug;
        $plugins_api->version = "5"; // new version
        $plugins_api->download_link = "https://server/directory/newVersion.zip";

        $plugins_api->slug = $pluginSlug;
        $plugins_api->sections = []; // sections of "view details" of update page when update is available

    }

    return $plugins_api;

}, 10, 3);

SO网友:Rick Hellewell

还有这个解决方案,需要做更多的设置工作,但允许您从自己的GitHub或私有存储库获取更新。我将其用于我自己的私人插件,该插件包含我开发的所有网站的个人设置。

https://github.com/YahnisElsts/plugin-update-checker#github-integration

结束