方法一,完美解决问题
解决wordpress发布文章时显示“8小时前”的问题
刚刚发了一篇文章,时间显示是8小时前,老样子,先各种百度谷歌,各种检查,改主题文件,改服务器时间,改funstion.php文件,改插件,都没法解决,后来折腾半天发现很简单,点一个地方最终轻松解决!
1、打开你的yuming/wp-admin.php后台
2、找到设置——常规——常规选项
3、常规选项中有一个“时区”的下拉选框,国内默认应该是“上海”,点下拉框会弹出很多国家时区,重要的来了! 一定要耐心往下拉,直到看见“UTC+8”这个选择为止,选择它,最后点击最下方的“保存更改”,刷新一下页面,去发布一篇文章测试一下,你会发现,这个时间不对的问题就顺利解决了!
方法二,前台解决,后台时间会有问题。
昨天发现主题发布时间居然是8个小时前,去网上找了很多方法都无法解决问题,什么设置上海时区改为东八区,修改php.ini都无法解决问题,去查询服务器时间也是正确的,现在将正确的方法发上来给大家瞧瞧,也手动记录一下修改记录。
打开网站目录下的wp-includes下的functions.php,大概在74行,注释一下原来的代码。
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),然后保存下修改(其实上面的东八区也是对的,并无影响)。
总结,通过上面的办法检查修改后是可以解决问题的。
暂无评论内容