WordPress的默认时区是世界协调时格林威治标准时间。如果要更改时区,可以在后台常规设置中选择自己的时区。这里以北京时间为例,我们可以选择将时区设置为上海。但WordPress时区调整为上海或UTC+8后,前题时间显示仍为UTC时间,与北京时间仍有8小时时差,而后台文章发布时间正确。也就是说背景时区设置对前景主题没有影响。我也在网上搜索尝试了很多方法,但是都没有奏效。
以下方法刚开始使用,效果不佳,可能都是你发现的方法:
date.timezone = "Asia/Shanghai"
date_default_timezone_set('Asia/Shanghai');
方法三、在/wp-includes/functions.php中加入:
date_default_timezone_set('Asia/Shanghai');
以上三种方法我都是按顺序尝试过的,但最后我认为问题的根源可能是时间戳函数的时间差,于是我立即打开了WordPress 4 . 2 . 2/WP-includes/functions . PHP文件进行检查,最终找到了解决WordPress时区错误问题的最终解决方案。以下是时区错误的具体修改方法:
打开文件/wp-includes/functions.php,在第65-66行找到以下代码:
case 'timestamp':
return ( $gmt ) ? time() : time() + ( get_option( 'gmt_offset' ) * HOUR_IN_SECONDS );
修改为:
保存funtions.php文件后,去前台查看主题中的时间是否正确。这里还要注意的是,用上面的代码修改后,你的服务器端php.ini还是需要设置为中国的时区。如果没有设置为中国时区,可以在php.ini的对应位置添加:date . time zone =“Asia/Shanghai”保存并重启apache,网站后台的时区也需要设置为Shanghai或UTC+8。在使用这个方法之前,建议先试试上面提到的第一种和第二种方法,如果不行,那就用我说的方法。毕竟这种方法是修改wordpress核心程序,以后不方便升级,需要保留修改记录。