Timezone issue adds a day
-
Whenever I created a webinar in Zoom and synced, the event would add exactly one day. For example, the Zoom webinar or meeeting was on July 1st, but WordPress (eroom) would show the webinar was on July 2nd.
I asked support for help. I paid for the plugin.
They were not helpful. THey said it was my fault. That I should check WordPress timezone settings, Zoom settings and server settings. So yeah… no help.
I hired a developer. He fixed it in a couple of hours.
The error is in eroom-zoom-meetings-webinar/zoom-conference/StmZoomPostTypes.php
In line 807 it says
$stm_time = new DateTime( $zoom_meeting[ 'start_time' ], new DateTimeZone( 'UTC' ) ); $stm_time->setTimezone( new DateTimeZone( $zoom_meeting[ 'timezone' ] ) ); update_post_meta( $new_post_id, 'stm_zoom_data', $zoom_meeting ); update_post_meta( $new_post_id, 'stm_agenda', $zoom_meeting[ 'agenda' ] ); update_post_meta( $new_post_id, 'stm_date', intval( strtotime( date( 'Y-m-d 00:00:00', strtotime( $zoom_meeting[ 'start_time' ] ) ) ) * 1000) );
But we added this
$stm_time = new DateTime( $zoom_meeting[ 'start_time' ], new DateTimeZone( 'UTC' ) ); $stm_time->setTimezone( new DateTimeZone( $zoom_meeting[ 'timezone' ] ) ); $stm_date = $stm_time->format('Y-m-d');//."T".$stm_time->format('H:i:s')."Z"; //Solve Zoom Webiner Date issue, by update_post_meta( $new_post_id, 'stm_zoom_data', $zoom_meeting ); update_post_meta( $new_post_id, 'stm_agenda', $zoom_meeting[ 'agenda' ] ); //update_post_meta( $new_post_id, 'stm_date', intval( strtotime( date( 'Y-m-d 00:00:00', strtotime( $zoom_meeting[ 'start_time' ] ) ) ) * 1000) ); update_post_meta( $new_post_id, 'stm_date', intval( strtotime( date( 'Y-m-d 00:00:00', strtotime( $stm_date ) ) ) * 1000) ); //Solve Zoom Webiner Date issue, by
I hope this helps someone!
PS. Paid support sucks. Plugin does what it’s supposed to do though. So kudos for that.
- The topic ‘Timezone issue adds a day’ is closed to new replies.