解决 wordpress 发布时间显示提前8小时的办法

刚刚发了一篇文章,瞅了一眼,时间显示是8小时前,什么鬼?我穿越到过去了?以前就遇到过了,不过一直懒得处理,今天就处理下吧,顺便记录下 。
第一检查了仪表盘 – 设置 -常规,时区设置 都是没有问题的 。
又检查了服务器的时间,也是没有问题的,谷歌了下相关的词,发现修改下文件即可 。
在wp-includesfunctions 。php 查找以下代码:

  1. function current_time( $type, $gmt = 0 ) {
  2.     switch ( $type ) {
  3.         case ‘mysql’:
  4.             return ( $gmt ) ? gmdate( ‘Y-m-d H:i:s’ ) : gmdate( ‘Y-m-d H:i:s’, ( time() + ( get_option( ‘gmt_offset’ ) * HOUR_IN_SECONDS ) ) );
  5.         case ‘timestamp’:
  6.             return ( $gmt ) ? time() : time() + ( get_option( ‘gmt_offset’ ) * HOUR_IN_SECONDS );
  7.         default:
  8.             return ( $gmt ) ? date( $type ) : date( $type, time() + ( get_option( ‘gmt_offset’ ) * HOUR_IN_SECONDS ) );
  9.     }
  10. }
换成:
  1. function current_time( $type, $gmt = 8 ) {
  2.     switch ( $type ) {
  3.         case ‘mysql’:
  4.             return ( $gmt ) ? gmdate( ‘Y-m-d H:i:s’ ) : gmdate( ‘Y-m-d H:i:s’, ( time() + ( get_option( ‘gmt_offset’ ) * HOUR_IN_SECONDS ) ) );
  5.         case ‘timestamp’:
  6.             return ( $gmt ) ? time() : time() + ( get_option( ‘gmt_offset’ ) * HOUR_IN_SECONDS );
  7.         default:
  8.             return ( $gmt ) ? date( $type ) : date( $type, time() + ( get_option( ‘gmt_offset’ ) * HOUR_IN_SECONDS ) );
  9.     }
  10. }
即可 。
简单的讲就是把 wp-includesfunctions 。php
function current_time( $type, $gmt = 0 ) {
改成
function current_time( $type, $gmt = 8 ) {
0改成8
 
 
 
2017-11-16更:
以上的办法经过测试,发现刷新后又变回提前8小时了,网上有些做法发把时区改成UTC+8我也试过了,也是不行 。
最后在一个群里,一个童鞋说把时区改成伦敦即可,然后真的可以了…
问他为什么?他说:“涉及到地理知识 我就不解释了…”
【解决 wordpress 发布时间显示提前8小时的办法】然后我谷歌搜索了下,伦敦时间比北京慢8小时

    推荐阅读