检查更新状态并获取WordPress存储库外插件的版本号

时间:2019-12-12 作者:My Web Maestro

我已经能够通过编程方式获得站点上所有插件的已安装插件版本号,以及存储库中当前可用的版本号。。。但是,我如何才能找到存储库中没有的Gravity表单等插件的当前可用版本?

我正在寻找一些类似于WordPress插件页面所做的事情,当它显示有更新可用时-我希望能够列出有哪些内容以及可以更新到哪些内容。

唯一让我困惑的是存储库中没有的第三方插件。我还没有找到一个引用,我假设它一定是一个使用插件URI的API。有什么建议吗?

2 个回复
SO网友:Tom J Nowell

我讨厌成为坏消息的传播者,但没有通用的插件更新API,只有一个核心在与之交谈时使用。org,它是唯一的实现。

一些插件使用过滤器和挂钩向该系统添加自己的检查,但大多数插件没有,或者提供自己的并行定制检查。这些都高度依赖插件本身,不遵守任何标准。

最接近标准的是那些提供私有composer repos的插件。但这些都是少数,我很难说出2或3个以上的名字。这些工具还针对composer CLI工具,composer不是为在浏览器前端中使用而设计的,因此您不仅能够加载它并将其插入更新页面。我估计composer以这种方式覆盖的生态系统不到1%

但是,我如何才能找到存储库中没有的Gravity表单等插件的当前可用版本?

对于Gravity表单,您需要分离Gravity表单,以了解该插件如何处理更新检查。其他任何第三方插件也是如此,对于很多第三方插件来说,他们可能没有这个插件。

对于通过GitHub获得的免费插件,只需检查GitHub,但要知道并非每个人都遵循相同的过程。有些使用发布,有些使用标记,有些使用分支,有些不使用,只需提交master, 有些使用不同的主分支等

我正在寻找一些类似于WordPress插件页面所做的事情,当它显示有更新可用时-我希望能够列出有哪些内容以及可以更新到哪些内容。

这不存在

我还没有找到一个引用,我假设它一定是一个使用插件URI的API。

这不存在。

SO网友:SirLouen

如果您正在谈论来自WP存储库的插件,您应该检查以下内容:https://codex.wordpress.org/WordPress.org_API#Plugins

如果您正在寻找;“保险费”;不受WP保护的插件。org站点,您将必须整理其用于版本控制的API URL,通常应在其代码中的某个位置进行硬编码。

例如,Crocoblock插件使用以下API:https://api.crocoblock.com?action=get_plugins_data

但这不是一个默认的解决方案:它可能会随着插件的不同而变化,只要它们在WP之外更新。组织SVN存储库。

相关推荐

Testing Plugins for Multisite

我最近发布了一个WordPress插件,它在单个站点上非常有效。我被告知该插件在多站点安装上不能正常工作,我理解其中的一些原因。我已经更新了代码,现在需要一种方法来测试更新后的代码,然后才能转到实时客户的多站点安装。我有一个用于测试的WordPress安装程序的单站点安装,但需要在多站点安装上进行测试。根据我所能找到的唯一方法是在网络上至少有两个站点来安装整个多站点安装,以测试我的插件。设置WordPress的整个多站点安装是插件开发人员的唯一/首选方式,还是有更快的测试环境可用。