本文是《积分插件 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 的安装和基本设置
RSS