昨天发现主题发布时间居然是8个小时前,去网上找了很多方法都无法解决问题,什么设置上海时区改为东八区,修改php.ini都无法解决问题,去查询服务器时间也是正确的,现在将正确的方法发上来给大家瞧瞧,也手动记录一下修改记录。
打开网站目录下的wp-includes下的functions.php,大概在74行,注释一下原来的代码。
function current_time( $type, $gmt = 8 ) { // Don't use non-GMT timestamp, unless you know the difference and really need to. if ( 'timestamp' === $type || 'U' === $type ) { //return $gmt ? time() : time() + (int) ( get_option( 'gmt_offset' ) * HOUR_IN_SECONDS ); //解决wordpress 八小时前的问题 return ( $gmt ) ? strtotime(gmdate('Y-m-d H:i:s')) : strtotime(gmdate('Y-m-d H:i:s')) + ( get_option( 'gmt_offset' ) * 3600 ); } if ( 'mysql' === $type ) { $type = 'Y-m-d H:i:s'; } $timezone = $gmt ? new DateTimeZone( 'UTC' ) : wp_timezone(); $datetime = new DateTime( 'now', $timezone ); return $datetime->format( $type );}
修改保存后记得清理一下缓存,发布文章之后可能需要等一下看看,可能还有缓存。