web-dev-qa-db-fra.com

Comment/Qu'est ce qui déclenche une mise à jour automatique de Wordpress?

J'ai installé Wordpress 4.0.1 et l'ai ajouté à mon fichier wp-config.php (via ce lien )

define( 'WP_AUTO_UPDATE_CORE', true );

J'ai ensuite visité mon site (j'avais déjà lu quelque part avant que le site devait être visité pour déclencher la mise à jour automatique) ... mais quelques heures plus tard et rien ne s'était passé (mon site n'a pas été mis à jour automatiquement à la version 4.1.1).

Je ne trouve aucune information sur les déclencheurs/causes de la mise à jour automatique de Wordpress (et je ne trouve pas le signet que j'avais avec l'endroit où j'ai lu que la visite du site en faisait partie).

Est-ce que quelqu'un sait et/ou peut m'indiquer des données précises sur la manière de déclencher la mise à jour automatique de Wordpress?

6
codeview

À partir de Wordpress 4.7.3, les mises à jour automatiques sont déclenchées dès que la séquence suivante réussit. Tout le code est dans le fichier wp-includes/update.php.

1. _maybe_update_core() est appelé (via l'action admin_init).

Cette fonction est exécutée via l'action admin_init, qui s'exécute au début de chaque page d'administration avant son rendu. Le processus de mise à jour s’arrête si l’heure actuelle est inférieure à 12 heures depuis le dernier contrôle de version (à l’aide de Données transitoires ), sauf si la version de wordpress actuelle a changé (par exemple, si Wordpress a été mis à jour manuellement depuis la dernière fois. mise à jour automatique a couru).

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() est exécuté, recherche une nouvelle version et décide si la mise à jour automatique est appropriée.

Cette fonction est principalement utilisée pour s'assurer que les vérifications de version ne sont pas exécutées trop souvent (maximum une fois par minute) et pour récupérer les informations de version à partir de l'API de vérification de version de api.wordpress.org. Cependant, à la toute fin de la fonction, les mises à jour seront exécutées si la demande qui a déclenché la mise à jour a été effectuée via une tâche CRON et qu'une mise à jour automatique n'est pas en cours de traitement:

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

3. wp_maybe_auto_update() effectue alors la mise à niveau réelle.

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();
}

Voici un conseil comment forcer une mise à jour automatique manuellement.

10
Quinn Comendant