刚刚发了一篇文章,瞅了一眼,时间显示是8小时前,什么鬼?我穿越到过去了?以前就遇到过了,不过一直懒得处理,今天就处理下吧,顺便记录下。
第一检查了仪表盘 – 设置 -常规,时区设置 都是没有问题的。
又检查了服务器的时间,也是没有问题的,谷歌了下相关的词,发现修改下文件即可。
在wp-includes\functions.php 查找以下代码:
- function current_time( $type, $gmt = 0 ) {
- switch ( $type ) {
- case ‘mysql’:
- return ( $gmt ) ? gmdate( ‘Y-m-d H:i:s’ ) : gmdate( ‘Y-m-d H:i:s’, ( time() + ( get_option( ‘gmt_offset’ ) * HOUR_IN_SECONDS ) ) );
- case ‘timestamp’:
- return ( $gmt ) ? time() : time() + ( get_option( ‘gmt_offset’ ) * HOUR_IN_SECONDS );
- default:
- return ( $gmt ) ? date( $type ) : date( $type, time() + ( get_option( ‘gmt_offset’ ) * HOUR_IN_SECONDS ) );
- }
- }
换成:
- function current_time( $type, $gmt = 8 ) {
- switch ( $type ) {
- case ‘mysql’:
- return ( $gmt ) ? gmdate( ‘Y-m-d H:i:s’ ) : gmdate( ‘Y-m-d H:i:s’, ( time() + ( get_option( ‘gmt_offset’ ) * HOUR_IN_SECONDS ) ) );
- case ‘timestamp’:
- return ( $gmt ) ? time() : time() + ( get_option( ‘gmt_offset’ ) * HOUR_IN_SECONDS );
- default:
- return ( $gmt ) ? date( $type ) : date( $type, time() + ( get_option( ‘gmt_offset’ ) * HOUR_IN_SECONDS ) );
- }
- }
即可。
简单的讲就是把 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
评论列表(3条)
一脸懵比的进来
这个应该是begin主题时间处理的问题。
一看就是UTC时间,我们这里的时间都是UTC+8