吐槽:又見我WordPress后臺8小時時間戳的時差,甚是不爽~
[重要通告]如您遇疑難雜癥,本站支持知識付費業務,掃右邊二維碼加博主微信,可節省您寶貴時間哦!
今天又閑著沒事兒,看著我Wordpress每次發送文章的時候都是少了8小時,看著實在是不爽,但是還沒搞定,臥槽!
瞅瞅這時間,相差時區8個小時,你說惱火不~~
嘗試了如下:效果不佳;
方法一、修改php.ini,將默認時區改成:
date.timezone = "Asia/Shanghai"
方法二、在 wp-config.php中加入:
date_default_timezone_set('Asia/Shanghai');
方法三、在/wp-includes/functions.php中加入:
date_default_timezone_set('Asia/Shanghai');
以上三種方式,都沒啥卵用,還有待繼續嘗試!
第四種方式:修改functions.php文件
打開網站目錄下的wp-includes下的functions.php,大概在71行,注釋一下原來的代碼。
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 ); }
其實就是把原來的71行0變成了8
然后把?return $gmt ? time() : time() + (int) ( 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 );
但是對于我的操作,還是無效,真是愁人~~~~
第五種方式:未嘗試;
從Wordpress 5.3+起,官方推薦使用wp_date替代原來的date_i18n函數。相對于date_i18n,wp_date最大的優勢是可以接受Unix timestamp;
導致發帖后,時間戳相對于當前時區晚8小時的代碼文件是 wp-admin/includes/meta-boxes.php
批量替換wp-admin/includes/meta-boxes.php中的date_i18n為wp_date。(DW一下,大約有六處)
第六種方式:未敢嘗試
百度自動提交插件造成的,將其停用刷新一下更新頁面緩存時差的問題就消失了;
問題未解決?付費解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!