李唐SEO顾问中心旗下网站!今天是:
启发SEO
当前位置: 李唐SEO > 网站运营 > 网络推广 >

如何解决WordPress时区错误问题

时间:2019-08-11来源: 官网:http://www.seo178.com 文章热度:
  

相信有不少人都遇到了WordPress时区错误的问题,明明在VPS中选择了正确的时区,WordPress中显示就是有问题。比如格林威治时间是0点整,北京时间就应该是8点。但是在WordPress中,显示标准时间是8点,本地时间是16点,这就不对了,相差8个小时。网上也有不少帖子给了解决办法,但是我试过都没有什么用。

比如,下面这个博客说的方法:

方法一、修改php.ini,将默认时区改成:

方法二、在 wp-config.php中加入:

方法三、在/wp-includes/functions.php中加入:

这里我们将介绍WordPress时间错误的解决方法。

注意,任意一种方法修改完成后,请重启Apache、Memcached、PHP,清空浏览器缓存再访问。

1.后台直接修改

首先,后台-设置-常规,检查一下WordPress时区设置是否正确,一般为上海或者UTC+8,才能正确显示东八区时间。

2.根目录配置文件修改

当然,大部分人发现即使这样修改后,时区仍然错误,那我们就要直接修改WordPress根目录的wp-setting.php。

找到此文件,使用记事本以外的工具编辑代码。将"date_default_timezone_set( 'UTC' );"修改为"date_default_timezone_set( 'Asia/Shanghai' );"

3.核心代码修改(100%有效)

如果以上两种方法失效的话,那么只能通过修改WordPress核心代码来强制修正时间。

打开/wp-includes/functions.php,搜索到一下代码

case 'timestamp':

return ( $gmt ) ? time() : time() + ( get_option( 'gmt_offset' ) * HOUR_IN_SECONDS );

修改为

/*

强制修正时间/时区

升级版本后请重新添加

*/

case 'timestamp':

//return ( $gmt ) ? time() : time() + ( 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 );

保存文件上传,重启Apache、Memcached、PHP,清空浏览器缓存再访问。

这种方法如果不成功,很可能是服务器时间问题,请自行百度修改php.ini文件。

后面的那一个方法,我试了,确实能够在WordPress后台显示正确的时间,但是发表文章的时候,仍然是一个“计划发布”的状态,说明系统中认为时间还是错误的。


百度一下:如何解决WordPress时区错误问题 查找更多相关信息!

------分隔线----------------------------