WordPress文章发布时间与系统时间不一致显示为8小时前的时间错误解决办法

其中的一个网站最近发布的文章总是在8小时以前,这让人有点头疼,可能是网站最近发布的文章太多,所以出现了某些功能的错误,具体有没有能力排查,所以想到可能是WordPress本身的设置问题。

八小时以前
八小时以前

具体情况是这样的;

当使用WordPress后台定时文章的时候,总会与服务器时间相差八个小时的时间差,其实这对于用户来说可能不是那么友好,所以在网上找了一些相关的答案,但是无果,并没有什么用。

经历过一番查找,问题得到解决,解决的问题的办法有两个。

方法1;设置WordPress的时间为UTC+8

打开WordPress设置后台-设置-常规,找到”时区“。

时区
时区

设置完成保存以后,清理所有的各种缓存,再刷新一下,时间就恢复过来了。

从时区这个设置项上可以看出其实这个方法有很多选项,包括WordPress时间与服务器时间相差1个小时或者半个小时,都可以通过时区设置中的UTC+?可以解决。

方法2;修改WordPress的function.php文件

这个方法,其实就是方法1的代码版,主要是为了解决那些用户无法修改WordPress设置错误的时候添加的一个方法,如果方法1已经解决问题,那就不要再操作方法2了。

在 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’ ) * 3600 ) ) );
break;
case ‘timestamp’:
return ( $gmt ) ? time() : time() + ( get_option( ‘gmt_offset’ ) * 3600 );
break;
}
}

替换成如下代码即可:

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’ ) * 3600 ) ) );
break;
case ‘timestamp’:
return ( $gmt ) ? time() : time() + ( get_option( ‘gmt_offset’ ) * 3600 );
break;
}
}

最后如果还是无法解决WordPress网站时间不正确的话,请检查一下服务器的时间,这里小编使用的宝塔面板,可以直接在设置项目中找到时间,点击同步即可自动完成相关设置。

为TA充电
共{{data.count}}人
人已赞赏
服务器运维教程

宝塔环境-WordPress更新时需要填写FTP信息怎么解决?

2021-4-27 10:19:17

功能扩展代码

WordPress纯代码实现文章外链加密跳转加nofollow标签

2020-5-20 0:44:00

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索