Sidebar
ein-/ausblenden

WordPress, WPCron und die richtige Zeit

Plugin für WordPress SEO

Anzeige

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 Inpsyde GmbH.

Vielen Dank auch hier nochmal von meiner Seite an Thomas.

8 Kommentare zu „WordPress, WPCron und die richtige Zeit“

  1. 1
    Kommentar von Marvin

    Müsste man dabei aber nicht auch noch die Sommerzeit (+2h statt +1h) berücksichtigen? Denn UTC als Richtzeit folgt diesen Wechseln ja nicht.

  2. 2
    Kommentar von Thomas

    @Marvin: Brauchst du nicht berücksichtigen. WordPress baut sich den GMT-Offset selbst zusammen, auch wenn bei uns Zeitumstellung ist :)

  3. 3
    Kommentar von Melanie

    Bist du sicher dass der GMT Offset automatisch zusammen gebaut wird? Ein Freund von mir hatte eine unglückliche Überraschung ..

  4. 4
    Kommentar von Nicole

    @Thomas - Wie Du sagst handelt es sich doch bei dem WP Cron nicht um einen Cron im eigentlichen Sinne sondern um einen "Pseudo Cron" der initiert wird wenn ein Besucher in einem bestimmten Zeitfenster auf die Seite kommt. Es kann doch also u.U. sein, dass der Cron nie ausgeführt wird weil keine Traffic auf der Seite ist oder irre ich mich da?

  5. 5
    Kommentar von Jan

    @Nicole: Der interne Cron von WordPress ist tatsächlich ein sogenannter Poormanscron, der an den Seitenaufruf gekoppelt ist. Sofern möglich würde ich diesen immer deaktivieren und einen echten Cron-Job nutzen:

    http://www.wlabs.de/1026/wordpress-auf-echten-cronjob-umstellen/

  6. 6
    Kommentar von andreas

    @Thomas - Wie Du sagst handelt es sich doch bei dem WP Cron nicht um einen Cron im eigentlichen Sinne sondern um einen "Pseudo Cron" der initiert wird wenn ein Besucher in einem bestimmten Zeitfenster auf die Seite kommt. das verstehe ich nich was du damit meinst . Es kann doch also u.U. sein, dass der Cron nie ausgeführt wird weil keine Traffic auf der Seite ist oder irre ich mich da? das habe ich letzten bemerkt und mich gewundert wie das sein kann!

    ich find auch das so etwas unhöfliches hier nichts zu suchen hat und dieser User dann gelöscht werden sollte! oder sien kommentar!!

    MfG

    Andi

  7. 7
    Kommentar von Nadja

    Geht das Ganze auch auf älteren Blogs? Habe noch nen Blog mit Version 2.9 und diese muss ich auch beibehalten, da es das eine Plugin, welches ich nutze leider nicht auf WordPress 3.0 geht.

  8. 8
    Kommentar von Frank Bültge

    @nadja: ja, ist auch dort nutzbar

Kommentar schreiben

Kommentarregeln: Bleib cool, kritisch ist in Ordnung, aber wenn du unhöflich bist, dann lösche ich deinen Kommentar. Bitte benutze deinen persönlichen Namen oder Initialen und nicht den Namen eines Unternehmens, dies würde als Spam gewertet und wird gelöscht. Der Zusammenhang zwischen Namen und URL sollte nicht offensichtlich auf Spam hindeuten! ♥ Ansonsten, vielen Dank für den Kommentar und viel Spaß mit meinem Blog.

E-Mail-Benachrichtigung bei weiteren Kommentaren.
Auch möglich: Abo ohne Kommentar.

Kommentar-Hilfe

händischer Spam:
Beachte die Kommentarregeln, jede Form von versuchtem Spam wird gelöscht. Warum und wieso steht in einem meiner Beiträge.

Bezug auf Textstellen:
Du kannst direkt bezug auf Textstellen im Beitrag nehmen. Dazu muss lediglich der Bereich im Artikel markiert werden; daraufhin erscheint ein Button, der den markierten Text in das Kommentarfeld übernimmt und als Zitat auszeichnet. Die Funktion ist nur bei aktivem JavaScript nutzbar.

xHTML:
Du kannst folgende Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <blockquote cite=""> <code> <pre> <em> <strong> <strike> <ul> <ul> <li>

Achte darauf, wenn du Code im Kommentar hinterlegen willst, dann muss der Code maskiert sein. Dann wird er nicht interpretiert. Der Code muss mit Hilfe von HTML-Entities dargestellt werden, d.h. dass man z.B. < als &lt; und > als &gt; einfügt.

E-Mail-Benachrichtigung bei neuen Kommentaren ?
Wenn der Haken in der Checkbox gesetzt ist, dann wirst du über neue Kommentare vie E-Mail informiert. Der Versand erfolgt nur, wenn du die URL in der Bestätigungs-E-Mail genutzt hast oder schon Abonnent hier im Blog bist.

Kommentar erscheint nicht:
Alle Kommentare werden manuell geprüft, freigegeben und nach Möglichkeit beantwortet. Bitte um etwas Geduld und Nachsicht.

Identifikationsbilder (Avatare):
Auf Gravatar.com kann man sich mit seiner E-Mail-Adresse registrieren und ein Bild hochladen, dann erscheint dieses Gravatar hier und in vielen weiteren Blogs.

Spamschutz:
Das Kommentarformular ist mit einem Spamschutz ausgerüstet. Solltest du diesen Artikel ohne JavaScript besuchen und kommentieren wollen, so muss du die Frage beantworten und das jeweilige Wort in das Textfeld eingeben.