修复积分插件 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 的安装和基本设置

本人擅长Ai、Fw、Fl、Br、Ae、Pr、Id、Ps等软件的安装与卸载,精通CSS、JavaScript、PHP、ASP、C、C++、C#、Java、Ruby、Perl、Lisp、Python、Objective-C、ActionScript、Pascal等单词的拼写,熟悉Windows、Linux、OS X、Android、iOS、WP8等系统的开关机。

通过下面的方式来联系我们:

电邮:138762189@qq.com

联系QQ:点击这里给我发消息

官方站:www.tadke.com

※ ※ 联系请加我的企鹅号 ※※

※ ※技术支持请微信联系站长 ※※

Copyright © 2023 Tadke.com. 琼ICP备20000547号