事件‘wp_version_check’真的存在吗?它在做什么?

时间:2015-02-05 作者:awei

在版本4.1中/wp-includes/update.php 674号线附近有一条线:

add_action(\'wp_version_check\', \'wp_version_check\');
我在所有wordpress核心文件中搜索了do_action(\'wp_version_check\') 查看上述操作可能在何处被触发。但是,我什么也没找到。我甚至在活动中加入了我自己的行动,看看它是否得到了重视,但没有任何效果。

函数在做什么?

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

该函数检查您的WP版本是否有可能更新。数据库中似乎有一个名为“update\\u core”的瞬态,因此它存储在$wpdb->options表中,名为“\\u site\\u transient\\u update\\u core”。该瞬态的值是一个具有信息的序列化对象,我不是wp\\u version\\u检查方面的专家,但它使用该瞬态跟踪下一次检查新版本的时间。它检查您的Wordpress版本、php版本、mysql版本、语言,如果您的MU是,如果是,您有多少博客,用户群,并将这些信息发送到api。wordpress。组织。我猜Wordpress的核心开发人员也会利用这些信息来决定什么对社区来说是重要的(所以要回答你的问题,它似乎可以做一些事情)WP更新很重要,大多数人不会自己检查更新。它看起来像是在管理端完成所有这些操作,因此它不会延迟前端页面的加载,也不会在检查失败后立即进行检查,以防止api出现问题时挂断网站。wordpress。组织服务器没有响应。

我知道,在未来,WP计划“自动”进行所有更新,这样几乎没有计算机知识的用户不会因为选择不使用WP更新而处于劣势。我相信其他人可能对这个问题有更多的了解。我觉得这个问题很有趣,所以打开IDE,四处看了看。

编辑前面的评论和这个答案,我想我已经弄清楚了到底发生了什么。

  1. wp-includes/update.php 将操作设置为add_action(\'wp_version_check\', \'wp_version_check\');wp-includes/cron.php 将运行wp_cron() 然后会运行spawn_cron() 在同一文件中定义
  2. spawn_cron() 执行AJAX调用/wp-cron.php 将调用do_action_ref_array() 使用wp_version_check 事件并最终激发wp_version_check() 功能

结束

相关推荐

Security updates to 3.3.2

我知道所有的安全更新都很重要,但从1到10的范围来看,从3.1.3升级到3.3.2有多重要。我有一些网站需要升级,但主机将我锁定在一个旧版本的php中,限制我使用3.1.3。我目前正在运行php的5.2.3版本。谢谢Bart