解决WordPress时区错误和前台不同的问题

解决WordPress时区错误和前台不同的问题 WordPress技巧 第1张

WordPress的默认时区是

UTC格林威治

时间。如果要变更时区,你可以在后台的常规设置中选择自己的时区。这里以北京时间为例,我们可以选择设置时区为

上海

。但是在将WordPress时区调整为

上海

UTC 8

后,前台主题时间显示均还是UTC时间,与北京时间仍有8小时的时差,而后台文章发布时间是正确的。也就是说后台的时区设置对前台主题不起效果。我也查找试过很多网上说的方法,均不起作用。以下是刚开始使用且无效的方法,可能你找到的方法也都是这些:

方法一、修改

php.ini

,将默认时区改成:

  1. date.timezone = "Asia/Shanghai"

方法二、在 

wp-config.php

中加入:

  1. date_default_timezone_set(\'Asia/Shanghai\');

方法三、在

/wp-includes/functions.php

中加入:

  1. date_default_timezone_set(\'Asia/Shanghai\');

以上三种方法按顺序我均试过无效,最后我想到了问题的根源可能是timestamp函数有时差没解决所造成的,于是立即打开wordpress 4.2.2版本的

/wp-includes/functions.php

文件查看,最后我找到了解决WordPress时区错误问题的最终解决方法。以下是时区错误的具体修改方法:

打开

/wp-includes/functions.php

文件,找到第65-66行将以下代码:

  1. case \'timestamp\':
  2. return ( $gmt ) ? time() : time() ( get_option( \'gmt_offset\' ) * HOUR_IN_SECONDS );

修改为:

  1. case \'timestamp\':
  2. //return ( $gmt ) ? time() : time() ( get_option( \'gmt_offset\' ) * HOUR_IN_SECONDS );
  3. return ( $gmt ) ? strtotime(gmdate(\'Y-m-d H:i:s\')) : strtotime(gmdate(\'Y-m-d H:i:s\')) ( get_option( \'gmt_offset\' ) * 3600 );

保存funtions.php文件后,去前台看看主题中的时间是否已正确。这里还需要注意的是,用以上代码修改后,你的服务器端

php.ini

还需已设置为中国地域内的时区,如果原先没设置成中国时区,可以在

php.ini

相应位置加入:

date.timezone = “Asia/Shanghai”

保存并重启apache即可,网站后台也需设置时区为

上海

UTC 8

。在使用此方法前,建议先尝试以上所说的方法一、方法二,如果无效就再用我说的方法,此方法毕竟是要修改wordpress核心程序的,今后升级有所不便,你需要做好修改记录。

给TA打赏
共{{data.count}}人
人已打赏
WordPress教程

wordpress:用七牛云cdn图床镜像加速博客网站

2020-10-1 21:38:32

WordPress教程

「wordpress技巧」CNAME记录和MX记录冲突的解决办法

2020-10-1 21:40:43

重要声明

本站资源大多来自网络,如有侵犯你的权益请联系管理员-小车站内发信联系 我们会第一时间进行审核删除。站内资源为网友个人学习或测试研究使用,未经原版权作者许可,禁止用于任何商业途径!请在下载24小时内删除!


如果遇到付费才可观看的文章,建议升级终身VIP。全站所有资源任意下免费看”。本站资源少部分采用7z压缩,为防止有人压缩软件不支持7z格式,7z解压,建议下载7-zip,zip、rar解压,建议下载WinRAR

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