修復積分外掛程式 myCRED 日志時區相差8小時的問題

本文是《積分外掛 myCRED 專題教程》系列教程的第 3 部分,該系列共包含以下 3 個部分:WordPress 用戶積分外掛 myCRED積分外掛 myCRED 的安裝和基本設置修復積分外掛 myCRED 日志時區相差8小時的問題

在測試 myCRED 這個積分外掛的過程中,發現 myCRED 在積分日志中的時間和本地實際時間相差8小時(國內服務器可能大多會遇到該問題),如果你也遇到這個問題,可以將下面的代碼添加到當前主題的 functions.php 文件中,一般即可解決:

/*
修復積分外掛 myCRED 日志時區相差8小時的問題
https://www.wpdaxue.com/fix-for-mycred-backend-log-entry-time-error.html
 */
if(!function_exists('cwp_set_current_timezone')){
    function cwp_set_current_timezone($timezone){
        if( false===stripos( $timezone,':' ) ){
            $timezone_name = $timezone;
        }else{
            $timezone = strtolower($timezone);
            $timezone = str_replace(array('utc','UTC'), '', $timezone) ;      
            $timezone = preg_replace('/[^0-9]/', '', $timezone) * 36;
            $timezone_name = timezone_name_from_abbr(null, $timezone, true);
            if( false===$timezone_name ){
                $timezone_name = timezone_name_from_abbr(null, -10* 3600, false);
            }
        }
        if(function_exists('date_default_timezone_set')){
            date_default_timezone_set($timezone_name);
            return $timezone_name;
        }
        return false;
    }
}
 
if(function_exists('date_default_timezone_set')){
    $timezone = '+0:00';
    cwp_set_current_timezone( $timezone );
}

/*
修復積分外掛 myCRED 日志時區相差8小時的問題
https://www.wpdaxue.com/fix-for-mycred-backend-log-entry-time-error.html
*/
if(!function_exists(‘cwp_set_current_timezone’)){
function cwp_set_current_timezone($timezone){
if( false===stripos( $timezone,’:’ ) ){
$timezone_name = $timezone;
}else{
$timezone = strtolower($timezone);
$timezone = str_replace(array(‘utc’,’UTC’), ”, $timezone) ;
$timezone = preg_replace(‘/[^0-9]/’, ”, $timezone) * 36;
$timezone_name = timezone_name_from_abbr(null, $timezone, true);
if( false===$timezone_name ){
$timezone_name = timezone_name_from_abbr(null, -10* 3600, false);
}
}
if(function_exists(‘date_default_timezone_set’)){
date_default_timezone_set($timezone_name);
return $timezone_name;
}
return false;
}
} if(function_exists(‘date_default_timezone_set’)){
$timezone = ‘+0:00’;
cwp_set_current_timezone( $timezone );
}

閱讀該系列的其他文章: 上一篇:積分外掛 myCRED 的安裝和基本設置

發佈留言