WordPress, WPCron und die richtige Zeit

Probleme mit dem WordPress Cron und der richtigen Zeit muss man wissen, dann lassen sie sich einfach umgehen.

WordPress bietet eine Pseudo-Cronjob-Funktionalität, welche es dem Entwickler erlaubt zeitgesteuerte Events auszuführen. Zum Beispiel funktioniert die komplette Update-Notification darüber. In diesen sogenannten Scheduled Events kann man auch selbst eigene Jobs definieren. Dabei sollte man aber auf eine wichtige Sache achten: Die Zeit.

Die wp-cron.php arbeit etwas abseits vom Core und lädt nur die wichtigsten Sachen und lässt sämtliche Einstellungen von WordPress offen. Die in Settings -> General eingestellte Timezone wird dabei nicht berücksichtigt. wp-cron.php läuft also definitiv und unveränderlich auf UTC.

Das heisst also folgendes: Sind wir in der Zeitzone Berlin ist die lokale Zeit UTC+1. Tragen wir ein Scheduled Event ein, hängt er immer eine Stunde nach. Um das zu ändern hilft folgende Funktion:


function get_offset_to_gmt_in_seconds() {

	$current_timezone_offset = get_option( 'gmt_offset' );
	$offset = $current_timezone_offset * 3600;

	return $offset;
}

Gastbeitrag

Thomas Herzog Avatar
Dieser Beitrag ist aus der Feder von Thomas Herzog - hughwillfayle.de und ist ein Beitrag zum Adventskalender auf wpengineer.com zum Thema WordPress.
Thomas Herzog ist Webentwickler im Team der WordPress Agentur - Inpsyde GmbH.

Vielen Dank auch hier nochmal von meiner Seite an Thomas.

Kommentare sind geschlossen.