在测试 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 日志时区相差8小时的问题到此结束。激流勇进者方能领略江河源头的奇观胜景。小编再次感谢大家对我们的支持!