昨天写的博客文章 wordpress页脚添加访客统计 有点小BUG:PC端打开还好,手机首次打开,顶部会出现报错,如下图
后来我换了另外一个大佬的代码,问题没解决,PC端也开始报错了,如下图
然后我仔细看了一下报错的信息,都是wb_25061x开头的,感觉像是一个wordpress的时间函数,就上网搜了一下相关结果
知道问题所在就好办了,现在不是AI时代吗?之前在油管看过up主让AI帮忙改写代码,那么我也试着用AI帮我改写一下这段代码,看它能不能识别出错误所在,并且帮我改写完整段输出结果给我。
剩下的就是复制粘贴的活了,这个我熟啊~
将代码粘贴到functions.php的文件内,然后在footer.php里调用一下,以下是效果
这是我第一次使用AI帮我改写代码,整体来说体验还是不错的,而且不需要花太多时间,整个过程就像对话一样简单。
修改后的代码
/**
* 统计全站总访问量/今日总访问量/当前是第几个访客
* @return [type] [description]
*/
function wb_site_count_user(){
$addnum = rand(5,10); //每个访客增加的访问数 5 - 10的随机数
if (session_status() !== PHP_SESSION_ACTIVE) {
session_start();
}
$date = date('ymd',time());
if(!isset($_SESSION['wb_'.$date]) || !$_SESSION['wb_'.$date]){
$count = get_option('site_count');
if(!$count || !is_array($count)){
$newcount = array(
'all' => 8377670,
'date' => $date,
'today' => $addnum
);
update_option( 'site_count', $newcount );
}else{
$newcount = array(
'all' => ($count['all']+$addnum),
'date' => $date,
'today' => ($count['date'] == $date) ? ($count['today']+$addnum) : $addnum
);
update_option( 'site_count', $newcount );
}
$_SESSION['wb_'.$date] = $newcount['today'];
}
return;
}
add_action('init', 'wb_site_count_user');
//输出访问统计(修复版)
function wb_echo_site_count(){
if (session_status() !== PHP_SESSION_ACTIVE) {
session_start();
}
$sitecount = get_option('site_count');
$date = date('ymd',time());
$session_key = 'wb_'.$date;
$visitor_number = isset($_SESSION[$session_key]) ? $_SESSION[$session_key] : 0;
echo '<p>总访问量:<span style="color:red">'.absint($sitecount['all']).'</span> 今日访问量:<span style="color:red">'.absint($sitecount['today']).'</span> 您是今天第:<span style="color:red">'.absint($visitor_number).'</span> 个访问者</p>';
}
这是AI帮我修改后的代码,有需要的朋友可以拿过去用,将这个代码放在你的wordpress主题文件里的functions.php文件内,就可以了。
具体的部署教程,可以看我上一期的文章。
文章评论