Ändern Sie, wie oft WordPress Auto-Updates Plugins

Von meinem Verständnis, wie WordPress core und Plugins aktualisiert, ist, dass es alle 12 Stunden ausgeht und nach Updates sucht. Wann wird diese Zeit eingestellt? 12 Stunden von der Erstinstallation? Ich frage das, weil ich den Plugin-Auto-Update-Filter add_filter( 'auto_update_plugin' ); Sie könnten theoretisch Plugins nur erlauben, zwischen bestimmten Zeiten zu aktualisieren, aber wenn diese bestimmte Zeit nicht in dieses 12-Stunden-Fenster fällt, dann werden Plugins niemals aktualisiert.

Also lassen Sie die Frage in meinem Titel, was ist Wie würde man darüber gehen, wie oft WordPress nach Updates sucht oder wie man einen bestimmten Zeitpunkt für die automatische Aktualisierung angibt?

Für alle Interessierten, hier ist der Filter, mit dem ich mich beschäftigt habe, checkt um zu sehen, ob es Montag bis Freitag von 8.00 bis 17.00 Uhr ist:

 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']  7 && $localAssoc['tm_hour'] < 17 ){ $update = true; } return $update; } add_filter( 'auto_update_plugin', 'maybe_update_plugins' ); 

Bearbeiten Als nette Randnotiz sieht es so aus, als ob dieser Filter jedes Mal ausgeführt wird, wenn ein Plugin aktualisiert wird, mehrere Plugin-Updates, mehrere Läufe des Filters

Solutions Collecting From Web of "Ändern Sie, wie oft WordPress Auto-Updates Plugins"

Sie haben Recht, WordPress sucht alle 12 Stunden nach Updates für Core und Plugins, aber es wäre besser, dies zu formulieren: Es prüft Updates, wenn das letzte Update vor mehr als 12 Stunden stattgefunden hat.

Die 12-Stunden-Einstellung ist in wp-includes/update.php

Die letzten aktualisierten Daten werden in der Tabelle wp_options gespeichert und die Optionen sind:

 _site_transient_update_core _site_transient_update_plugins _site_transient_update_themes 

Da diese Überprüfung nicht genau nach 12 Stunden erfolgt, sondern das nächste Mal, wenn die Bedingung erfüllt ist (mindestens 12 Stunden vergangen sind), verpassen Sie das Update nicht.

Die relevanten functionen wp_update_plugins() und wp_maybe_auto_update() sind mit den wp-cron-Ereignissen desselben Namens wp_maybe_auto_update() , die zweimal täglich ausgeführt werden.

Logischerweise beginnt der Anfangszeitplan von der Zeit des ersten Laufs an zu kreuzen. Aufgrund der wp-cron-Implementierung (die nicht durch Cron und Trigered durch Site-Besuche und nicht durch die Server-Uhr verursacht wird) wird es auch “driften”, wenn der tatsächliche wp-cron nach der Zeit abfeuert, an der er fällig ist.

Plugin-Update-Checks werden auch häufiger in bestimmten Admin-Bereichen wie der Plugin-Liste ausgetriggers (so dass es weniger wahrscheinlich ist, dass veraltete Informationen angezeigt werden).

Auf meinem Kopf sehe ich keinen eleganten Weg, es in einen bestimmten Zeitkorridor zu setzen. Das Ändern von Zeitplänen ist ziemlich einfach, die Drift ist nicht ganz korrekt.

Wenn dies in irgendeiner Weise fälschungskritische Anforderung ist, dann könnte es besser mit realen Server Cron und externen Tools für die tatsächliche Aktualisierung, wie wp-CLI-Update-functionalität oder Verwalten von Plugins über Composer behandelt werden.