D'après ma compréhension de la façon dont WordPress met à jour le noyau et les plugins, il s'éteint toutes les 12 heures et recherche des mises à jour. Quand ce temps est-il réglé? 12 heures après l'installation initiale? Je pose cette question car en utilisant le filtre de mise à jour automatique des plugins, add_filter( 'auto_update_plugin' );
vous ne pouvez théoriquement autoriser les plugins à se mettre à jour qu'entre certaines heures, mais si cette certaine heure ne tombe pas dans cette fenêtre de 12 heures, les plugins ne seront jamais mis à jour.
Laissant ainsi la question dans mon titre qui est: Comment modifier la fréquence de recherche des mises à jour par WordPress ou comment spécifier un moment précis pour la mise à jour automatique?
Pour ceux qui sont intéressés, voici le filtre avec lequel j'ai joué, vérifie si SI c'est du lundi au vendredi de 8h à 17h:
function maybe_update_plugins(){
date_default_timezone_set('Your Timezone Here');
$localAssoc = localtime(time(), true);
$update = false;
/***
/* tm_wday[0] = Sunday
/* tm_wday[6] = Saturday
***/
if(
$localAssoc['tm_wday'] > 0 && $localAssoc['tm_wday'] < 6 &&
$localAssoc['tm_hour'] > 7 && $localAssoc['tm_hour'] < 17
){
$update = true;
}
return $update;
}
add_filter( 'auto_update_plugin', 'maybe_update_plugins' );
Modifier En tant que sidenote soigné, il semble que ce filtre soit exécuté chaque fois qu'un plug-in est mis à jour, plusieurs mises à jour de plug-in, plusieurs exécutions du filtre
la source
Les fonctions pertinentes
wp_update_plugins()
etwp_maybe_auto_update()
sont accrochés aux événements wp-Cron du même nom, en cours d' exécution dans les délais prévus deux fois par jour.Logiquement, le programme initial commencera à cocher à partir de la première exécution. En raison de l'implémentation de wp-cron (n'étant pas un véritable cron et déclenché par des visites sur site plutôt que par l'horloge du serveur), il "dérivera" également chaque fois que wp-cron se déclenchera après l'heure prévue.
Les vérifications de mise à jour des plugins sont également déclenchées plus souvent dans certaines zones d'administration, comme la liste des plugins (de sorte que vous êtes moins susceptible de consulter des informations périmées).
Sur ma tête, je ne vois pas de façon élégante de le mettre dans un couloir temporel spécifique. Changer les horaires est assez facile, tenir compte de la dérive n'est pas tout à fait.
S'il s'agit d'une exigence critique en matière de mésaventure, il serait préférable de la gérer avec un véritable cron de serveur et un outil externe pour la mise à jour réelle, comme la fonctionnalité de mise à jour wp-cli ou la gestion des plugins via Composer.
la source
wp-cron
ne déclenche-t-il que certaines vues de page d'administration ou également des pages normales? Merci!init
tir au crochet)