WordPress如何检测插件更新

时间:2015-07-09 作者:Epsiloncool

我是一个wp插件开发人员,我想知道当某个插件有更新时,wp是如何检测的?我想这些已经在wordpress中的插件是可以的。组织存储库。但是,我如何才能为存储在我自己的存储库中的这些插件实现相同的机制呢?(已经在google上搜索过了,很遗憾找不到任何信息)。谢谢

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

WordPress每隔12个多小时就会自动出去检查插件是否需要通过WordPress存储库进行更新。WordPress运行3个cron作业来检查内容:

  • wp_version_check - 检查核心更新wp_update_plugins - 检查插件更新wp_update_themes - 检查主题更新WP Crontrol. 现在,WP cron不像服务器Cronjobs,它们在满足条件的特定情况下运行(current\\u time>=12和…)。我不完全确定条件是什么,但它们似乎是管理小组的请求。

    数据库中有一个选项保存了大量信息,每个cron都有自己的瞬态如果我没弄错的话,你可以搜索你wp_options 的表_site_transient 使用LIKE%..% 声明,看看你得到了什么。

    _site_transient_update_plugins 选项保存诸如上次检查的时间戳、已检查的插件、需要更新的插件(带有一系列内容,如包URL、新版本等)等信息,然后使用这些信息获取并向用户显示有关更新的信息,并使用户只需单击更新(因为它不需要查找数据库中已经有更新URL的页面)即可轻松完成更新。

    我已经played around with this 虽然还没有完全掌握,但希望以上内容能让您了解它的工作原理。

    至于让WordPres为您自己的私有存储库更新插件,有几种不同的风格。WooCommerce有一个助手插件,可以处理大多数更新,还有一些代码可以从Github推送更新,here\'s an answer 这将我推向了正确的方向。总而言之,这不是最简单/最直接的事情。

结束

相关推荐

排除Plugins.php HTTP安装路径与单个插件的HTTPS的故障

我正在尝试对插件中显示的安装路径进行故障排除。php作为我在自己的网站上安装的插件,我最初并没有编写该插件。当我的站点的其余部分是HTTPS时,此插件引用和安装的所有资源都会显示为混合内容HTTP。我一直在玩弄下面的代码段,但它似乎没有起到什么作用,也没有解决问题。有人能指出我遗漏了什么吗? /** * registers scripts and stylesheets */ public function register_assets() {&