WordPress 主题发布文章显示为8小时前的解决方法

方法一,完美解决问题

解决wordpress发布文章时显示“8小时前”的问题

刚刚发了一篇文章,时间显示是8小时前,老样子,先各种百度谷歌,各种检查,改主题文件,改服务器时间,改funstion.php文件,改插件,都没法解决,后来折腾半天发现很简单,点一个地方最终轻松解决!

1、打开你的yuming/wp-admin.php后台

2、找到设置——常规——常规选项

3、常规选项中有一个“时区”的下拉选框,国内默认应该是“上海”,点下拉框会弹出很多国家时区,重要的来了! 一定要耐心往下拉,直到看见“UTC+8”这个选择为止,选择它,最后点击最下方的“保存更改”,刷新一下页面,去发布一篇文章测试一下,你会发现,这个时间不对的问题就顺利解决了!

方法二,前台解决,后台时间会有问题。

昨天发现主题发布时间居然是8个小时前,去网上找了很多方法都无法解决问题,什么设置上海时区改为东八区,修改php.ini都无法解决问题,去查询服务器时间也是正确的,现在将正确的方法发上来给大家瞧瞧,也手动记录一下修改记录。

打开网站目录下的wp-includes下的functions.php,大概在74行,注释一下原来的代码。

20230809-6

function current_time( $type, $gmt = 8 ) {
// Don’t use non-GMT timestamp, unless you know the difference and really need to.
if ( ‘timestamp’ === $type || ‘U’ === $type ) {
//return $gmt ? time() : time() + (int) ( get_option( ‘gmt_offset’ ) * HOUR_IN_SECONDS );
//解决wordpress 八小时前的问题
return ( $gmt ) ? strtotime(gmdate(‘Y-m-d H:i:s’)) : strtotime(gmdate(‘Y-m-d H:i:s’)) + ( get_option( ‘gmt_offset’ ) * 3600 );
}
if ( ‘mysql’ === $type ) {
$type = ‘Y-m-d H:i:s’;
}
$timezone = $gmt ? new DateTimeZone( ‘UTC’ ) : wp_timezone();
$datetime = new DateTime( ‘now’, $timezone );
return $datetime->format( $type );
}

修改保存后记得清理一下缓存,发布文章之后可能需要等一下看看,可能还有缓存。

方法三,不能解决问题

我们如果使用的虚拟主机,一般商家都是校队好的。如果我们使用的是服务器,我们需要检查服务器的时间是不是和我们的当前时间一致,如果不一致,我们需要调整服务器的时间。

2、手工调节

/wp-includes/functions.php
我们到WP页面中添加一行代码直接手工校对。

date_default_timezone_set(‘Asia/Shanghai’);
以及我们在wp-config.php添加代码。

date_default_timezone_set(‘Asia/Shanghai’);
3、我们再检查网站后台

我们进入wordpress后台,设置(Settings)->时区设置(Timezone)改成上海(Shanghai),然后保存下修改(其实上面的东八区也是对的,并无影响)。

总结,通过上面的办法检查修改后是可以解决问题的。

© 版权声明
THE END
喜欢就支持一下吧
点赞9赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容