• 免费咨询
  • 免费更新
  • 付费安装
  • 付费二开

WordPress发布时间不正确显示为8小时前的3种解决办法

作者 : ami 发布时间: 2021-08-23 共26人阅读

刚刚发了一篇文章,瞅了一眼,时间显示是 8 小时前,什么鬼?我穿越到过去了?好吧,倒是想回到过去,可是这也能想想。又要开始折腾了,各种百度,各种检查,找到几种方法能搞定这个时间不对的问题。

%title插图%num

 

方法一:修改wordpress源文件


在 wp-includesfunctions.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’ ) * 3600 ) ) );
  5. break;
  6. case ‘timestamp’:
  7. return ( $gmt ) ? time() : time() ( get_option( ‘gmt_offset’ ) * 3600 );
  8. break;
  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’ ) * 3600 ) ) );
  5. break;
  6. case ‘timestamp’:
  7. return ( $gmt ) ? time() : time() ( get_option( ‘gmt_offset’ ) * 3600 );
  8. break;
  9. }
  10. }

这样修改好后,在博客前台文章发表时间就是其实的本地化时间了。

 

方法二:WordPress 后台设置 UTC 8


按照以下步骤操作

1、php.ini

先保证你的搭建的 PHP 环境 php.ini 时间为东八区:date.timezone=Asia/Shanghai

2.WordPress 后台设置 UTC 8

仪表盘 – 设置 -常规,时区设置为 UTC 8,如下图:

%title插图%num

 

3、主题中设置时间

在你的主题文件functions.php中的第一个

着急,无奈,直接在 QQ 群里发文,得到的答案无非就是服务器时间不准,或者后台时区设置错误。

我表示,我看过服务器时间,没有问题,死马当活马医,工单给阿里云的工程师。

Wordpress发布时间不正确显示为8小时前的3种解决办法

建议使用 date 命令看下服务器时间是否正常,同步内网和公共 NTP 时间服务器请参考: https://help.aliyun.com/knowledge_detail/40583.html?source=5176.11533457&userCode=bfol0yvy&type=copy

Wordpress发布时间不正确显示为8小时前的3种解决办法

好吧,服务器时间没有问题,那问题一定出在网站程序本身或者主题上。经过排查,我终于找到解决办法,欣喜若狂,不废话直接上代码。

1、在wp-config.php和wp-settings.php中都添加如下代码:

  1. date_default_timezone_set( 'Asia/Shanghai' );
  2. ini_set('date.timezone','Asia/Shanghai');

2、找到知更鸟主题路径下的 default.php,即:begin/inc/function/default.php(大概 566 行和 575 行之间),将原来的代码:

  1. echo human_time_diff(get_the_time('U'), current_time('timestamp')).'前';

修改成:

  1. echo human_time_diff(get_the_time('U'), current_time('timestamp') - 28800).'前';

然后,我的 wordpress 前端显示时间终于恢复正常。

针对上面的几种方式,遇到我同样问题的站长朋友们可以试试,一般第二种方法修改完php.ini和后台的UTC都能解决,但是要记住的是,修改文件之前,文件要保存备份一下哟!

1、本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2、分享目的仅供大家学习和交流,请不要用于商业用途!
3、本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
4、如有链接无法下载、失效或广告,请联系管理员处理!
5、本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!

淘资源 » WordPress发布时间不正确显示为8小时前的3种解决办法
  • 售后服务范围 1、商业模板使用范围内问题免费咨询
    2、源码安装、模板安装(一般 ¥50-300)服务答疑仅限VIP用户
    3、单价超过200元的模板免费一次安装,需提供服务器信息。
    付费增值服务 1、提供dedecms模板、WordPress主题、discuz模板优化等服务请详询在线客服
    2、承接 WordPress、DedeCMS、Discuz 等系统建站、仿站、开发、定制等服务
    3、服务器环境配置(一般 ¥100-300)
    4、网站中毒处理(需额外付费,200-500元/次/质保三个月)
    售后服务时间 周一至周日(法定节假日除外) 9:00-23:00
    免责声明 本站所提供的模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: 909644@qq.com),我们会及时删除,给您带来的不便,我们深表歉意!