WordPress访问量统计

  为了能够了解网站的热度,决定使用非插件的方式在页面上显示网站的访问量。经过多方查找教程,找到了两种个可以实现的方案,记录如下。

网站访问量统计

  原文链接:https://www.laoliang.net/jsjh/technology/9383.html

访问量显示效果图

  这里做了精简,只显示了总访问量和今日访问量,并且该访问量统计为网站的访问次数,不是所有文章的浏览次数,所以一般情况下会比文章的总阅读次数高一些。

访问量统计代码

  将以下代码追加到主题的functions.php文件中,请留心是否有函数名重复,如果出现函数名重复,则会报错。

//添加到functions.php中
/**
* 统计全站总访问量/今日总访问量/当前是第几个访客
* @return [type] [description]
*/
function wb_site_count_user(){
    $addnum = 1; //每个访客增加的访问数
    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' => 30142,             //初始访问量,可以设置为自己当前的访问量
                '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(){
    session_start();
    $sitecount = get_option('site_count');
    $date = date('ymd',time());
    echo '<p>总访问量:<span style="color:#b9b9b9">'.absint($sitecount['all']).'</span>    今日访问量:<span style="color:#b9b9b9">'.absint($sitecount['today']).'</span></p>';
}

调用函数显示

  在需要显示的区域添加以下代码来输出访问统计信息:

<?php wb_echo_site_count(); ?>

文章阅读量统计

文章阅读量统计代码

  转自张戈的博客
  实现思路为对数据库中的所有文章访问量进行求和。将以下代码追加到主题的functions.php文件中,然后在需要显示的地方调用函数即可。请留心是否有函数名重复,如果出现函数名重复,则会报错,修改使用不同的函数名即可解决。代码如下:

/**
* WordPress 获取文章浏览总数优化版 By 张戈博客
* 文章地址:https://zhang.ge/551.html
* 转载请保留原文出处,谢谢合作!
*/
function lo_all_view(){
    global $wpdb;
    $count =  $wpdb->get_var("SELECT sum(meta_value) FROM $wpdb->postmeta WHERE meta_key='views'");
    return $count;
}

调用函数显示

  在需要显示的区域添加以下代码来输出访问统计信息:

<?php lo_all_view(); ?>