本文是《積分外掛 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 的安裝和基本設置