Auf der langen Suche nach einem passenden Plugin, welches mir einen Google Kalender in Wordpress einbindet bin ich auf ICS Calendar (http://wordpress.org/extend/plugins/wordpress-ics-importer/) gestoßen. Leider zeigt er mir die Winterzeit nicht korrekt an. Wordpress erkennt die Zeit korrekt, nur das Plugin zeigt anstatt 9:50 immer 8:50 an.
Ich habe diesen Eintrag http://wordpress.org/support/topic/…re-in-same-zone gefunden. Mit
Code
// Convert ical format (yyyymmddThhmmssZ) to epoch time
function icaldate_to_timestamp ($vdate, $plus_d = '0', $plus_m = '0',
$plus_y = '0') {
global $TZOffset, $TZOffsetDaylight, $WPTimezone;
//20090317T184000Z
$y = substr($vdate, 0, 4) + $plus_y;
$m = substr($vdate, 4, 2) + $plus_m;
$d = substr($vdate, 6, 2) + $plus_d;
$H = substr($vdate, 9, 2);
$M = substr($vdate, 11, 2);
$S = substr($vdate, 13, 2);
[B]//[/B]$Z = substr($vdate, 15, 1); //gelöscht damit Zeit korrekt angezeigt wird
if ($Z == 'Z') {
$utcOff = date("Z")/3600;
if($utcOff!=$WPTimezone) {
$shift = $WPTimezone - $utcOff;
if(!empty($H)) $H += $shift;
}
$TS = gmmktime($H,$M,$S,$m,$d,$y);
} else {
if(date('I', mktime(0,0,0,$m,$d,$y))==1) {
$shift = (int)$WPTimezone - (int)($TZOffsetDaylight/100);
} else {
$shift = (int)$WPTimezone - (int)($TZOffset/100) [B]+ 1[/B]; //+1 hinzugefügt
}
if(!empty($H)) $H += $shift;
$TS = mktime($H,$M,$S,$m,$d,$y);
}
return $TS;
}
Alles anzeigen
dem auskommentieren von $Z und einem +1 geht es jetzt mit der Winterzeit (Sommerzeit teste ich nächste Woche). Aber ich denk das ist ja nicht ganz der Sinn der ganzen Sache.
Hat jemand dieses Problem ebenfalls und dafür eine elegantere Lösung gefunden?
Vielen Dank
Manuel