1. it168资讯网首页
  2. 网站教程

WordPress的首页/内页显示的评论时间为8小时前的解决办法

最近虾皮路发现一个问题,就是首页的评论时间和内页的评论时间不一致。具体的表现是首页侧边栏调用了文章评论,加上了评论时间,如果有人点评文章后,首页显示的评论时间为8小时前的时间,而内页显示的时间是正常。…

WordPress的首页/内页显示的评论时间为8小时前的解决办法插图

最近it168资讯发现一个问题,就是首页的评论时间和内页的评论时间不一致。具体的表现是首页侧边栏调用了文章评论,加上了评论时间,如果有人点评文章后,首页显示的评论时间为8小时前的时间,而内页显示的时间是正常。这个问题有什么解决办法吗?

比如:首页显示该文章的评论时间为10:00,而内页显示的评论时间为18:00。因此,就会出现一个现象,刚评论的文章,首页的评论时间会显示为8个小时前评论的。进入内页的话时间又正常了。

当然,这不影响任何使用。但对于it168资讯这种强迫症的来说,不能忍受。

网上找了解决办法,大概如下几种:

一、SSH登陆修改时区

先用SSH连接服务器,然后使用 date 命令看下服务器时间是否正确

date

如果正确,则按照下面的方法修改时区

1、修改 php.ini的默认时区

修改 php.ini,将默认时区改成:

date.timezone = "Asia/Shanghai"

2、在wp-config.php添加时区代码

wp-config.php中加入:

date_default_timezone_set('Asia/Shanghai');

二、BT宝塔面板直接图形化修改时区

对于不喜欢用命令的小伙伴来说,可以直接登陆BT宝塔面板后台,点击 软件商店-系统工具-Linux工具箱 ,没有安装的话就先安装。

WordPress的首页/内页显示的评论时间为8小时前的解决办法插图1

点击 设置-时区设置

设置时区为 Asia/Shanghai

WordPress的首页/内页显示的评论时间为8小时前的解决办法插图2

然后保存即可。

三、修改timestamp函数

对于以上的解决办法,it168资讯都有尝试,但是没有任何效果。后来it168资讯发现有人提到修改timestamp函数即可,因为timestamp函数有时差,因此解决办法如下:

打开自己站点的路径文件 /wp-includes/functions.php,在70多行的地方找到如下代码

if ( 'timestamp' === $type || 'U' === $type ) {
		return $gmt ? time() : time() + (int) ( get_option( 'gmt_offset' ) * HOUR_IN_SECONDS );

修改为如下代码:

if ( 'timestamp' === $type || 'U' === $type ) {
		//return $gmt ? time() : time() + (int) ( get_option( 'gmt_offset' ) * HOUR_IN_SECONDS );
		return ( $gmt ) ? strtotime(gmdate('Y-m-d H:i:s')) : strtotime(gmdate('Y-m-d H:i:s')) + ( get_option( 'gmt_offset' ) * 3600 );

实际上就是将原代码注释掉了。然后保存,清除自己的页面缓存即可。

这个方法确实不错,成功解决了。但是因为动到了WordPress的核心文件,因此如果升级后估计还要修改。

原创文章,作者:admin,如若转载,请注明出处:https://www.it168.online/webtech/1288/

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注