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

提前8小时

刚刚发了一篇文章,瞅了一眼,时间显示是8小时前,什么鬼?我穿越到过去了?以前就遇到过了,不过一直懒得处理,今天就处理下吧,顺便记录下。

第一检查了仪表盘 – 设置 -常规,时区设置 都是没有问题的。

又检查了服务器的时间,也是没有问题的,谷歌了下相关的词,发现修改下文件即可。

wp-includes\functions.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-includes\functions.php

function current_time( $type, $gmt = 0 ) {

改成

function current_time( $type, $gmt = 8 ) {

0改成8

 

 


 

2017-11-16更:

以上的办法经过测试,发现刷新后又变回提前8小时了,网上有些做法发把时区改成UTC+8我也试过了,也是不行。

最后在一个群里,一个童鞋说把时区改成伦敦即可,然后真的可以了…

伦敦时间

问他为什么?他说:“涉及到地理知识 我就不解释了…”

然后我谷歌搜索了下,伦敦时间比北京慢8小时

伦敦时间

原创文章,作者:老D,如若转载,请注明出处:https://laod.cn/3933.html

(2)
上一篇 2017-08-19 12:18
下一篇 2017-08-26 11:35

相关推荐

发表回复

登录后才能评论

评论列表(3条)

  • mettlerhui
    mettlerhui 2017-11-18 17:37

    一脸懵比的进来

  • 堕落的鱼
    堕落的鱼 2017-08-28 16:41

    这个应该是begin主题时间处理的问题。

  • 嗯喔啊咦
    嗯喔啊咦 2017-08-27 01:11

    一看就是UTC时间,我们这里的时间都是UTC+8