如何/什么触发WordPress自动更新?

时间:2015-04-04 作者:codeview

我安装了Wordpress 4.0.1并将其添加到我的wp配置中。php(通过this link)

define( \'WP_AUTO_UPDATE_CORE\', true );
然后我访问了我的网站(之前我在某个地方读到,必须访问该网站才能触发自动更新)。。。但几个小时后,什么都没有发生(我的网站还没有自动更新到4.1.1)。

我找不到任何关于是什么触发/导致Wordpress自动更新的信息(也找不到我读到的关于访问网站是其中一部分的书签)。

是否有人知道和/或可以向我指出一些硬数据,说明如何/什么触发Wordpress自动更新?

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

从Wordpress 4.7.3开始,只要以下序列成功,就会触发自动更新。所有代码都在文件中wp-includes/update.php.

1。_maybe_update_core() 调用(通过admin_init 操作)

此功能通过admin_init 操作,该操作在呈现页面之前在每个管理页面的开头执行。如果自上次版本检查后的当前时间小于12小时,则更新过程将停止(使用Transient data), 除非当前wordpress的版本已更改(例如,如果自上次运行自动更新以来wordpress已手动更新)。

function _maybe_update_core() {
    // include an unmodified $wp_version
    include( ABSPATH . WPINC . \'/version.php\' );

    $current = get_site_transient( \'update_core\' );

    if ( isset( $current->last_checked, $current->version_checked ) &&
        12 * HOUR_IN_SECONDS > ( time() - $current->last_checked ) &&
        $current->version_checked == $wp_version ) {
        return;
    }
    wp_version_check();
}

2。wp_version_check() 运行并检查新版本,并决定是否执行自动更新

此函数主要用于确保版本检查不会运行得太频繁(最多每分钟一次),并从api中检索版本信息。wordpress。组织版本检查API。但是,在函数的最后,如果触发更新的请求是通过CRON任务完成的,并且当前未进行自动更新,则将运行更新:

if ( defined( \'DOING_CRON\' ) && DOING_CRON && ! doing_action( \'wp_maybe_auto_update\' ) ) {
    do_action( \'wp_maybe_auto_update\' );
}

3。wp_maybe_auto_update() 然后进行实际升级

function wp_maybe_auto_update() {
    include_once( ABSPATH . \'/wp-admin/includes/admin.php\' );
    include_once( ABSPATH . \'/wp-admin/includes/class-wp-upgrader.php\' );

    $upgrader = new WP_Automatic_Updater;
    $upgrader->run();
}
<小时>Here is a tip 如何手动强制自动更新。

结束

相关推荐

CORE中提供了哪些样式表?

我想使用jQuery UI样式Sheet, 但我不知道它是否预装在WordPress中。我不知道这可能会产生问题。如果在WordPress中可用,在这种情况下wp_register_style() 因为首先我们必须wp_deregister_style( $handle ) 然后注册我们的脚本,否则两个样式表可能会冲突。即使我问了一个错误的问题,只要给我一些想法或资源,我可以在哪里找到可用的脚本和样式,这样我就可以轻松找到我需要在插件中注册和排队的样式和脚本。还有一件事我不必做无用的代码,比如注册样式表(