web-dev-qa-db-fra.com

Planifiez les mises à jour automatiques de WordPress pour ne s'exécuter que pendant les heures ouvrables

Nous avons activé les mises à jour automatiques de WordPress (oui!), Mais, au cas où cela casse quelque chose, nous aimerions exécuter les mises à jour automatiques uniquement pendant les heures de clarté (par exemple, de 09h00 à 17h30).

WP-Cron "on init" est désactivé et l’appelle depuis la crontab du serveur toutes les 10 minutes.

Comment adapter AutoUpdate afin que toutes les mises à jour soient exécutées pendant ces périodes? J'ai regardé les crochets pour WP-Cron, mais je me suis un peu perdu.

De plus, y a-t-il un crochet qui se déclenche une fois la mise à jour automatique terminée? Notre code est en contrôle de code source, et je cherche des moyens de "valider automatiquement" une nouvelle branche dans notre code après une mise à jour (plutôt que d'avoir à le faire manuellement).

(La question en double ne fournit aucune indication concernant les points à vérifier - suggérant simplement de modifier la base de données - elle parle également de WP Cron étant renvoyé "à vide" - plutôt que de fonctionner sur un serveur dédié. cron).

À la vôtre, Darren

5
Darren

Celui-ci est en fait étonnamment simple; ajoutez ceci à votre fichier wp-config.php et toutes les mises à jour automatiques seront bloquées en dehors des heures spécifiées:

// Suspend updates when outside of business hours, 9:00 AM to 5:30 PM
$updates_suspended = (date('Hi') < 0900 || date('Hi') > 1730);

define( 'AUTOMATIC_UPDATER_DISABLED', $updates_suspended );

Vous pouvez également utiliser ces autres constantes et filtres pour contrôler les mises à jour automatiques autorisées à être exécutées si vous devez préciser cela.

Assurez-vous d’utiliser le fuseau horaireserverlorsque vous le définissez. La fonction date() peut être configurée pour utiliser un fuseau horaire différent de votre fuseau horaire local.

4
Ben Cole