WordPress后台增加百度统计小工具,实时显示PV/UV/IP等数据

做网站肯定要了解相关网站数据,有时候懒得登陆查看,例如一些PV/UV/IP等数据,那么我们可以直接使用百度统计的api,在WordPress的后台仪表盘进行一个简单的显示,这里...

Jaysun 2023-03-13 1.28 K阅读 6评论

温馨提示:这篇文章已超过410天没有更新,请注意相关的内容是否还可用!

1.png

网站肯定要了解相关网站数据,有时候懒得登陆查看,例如一些PV/UV/IP等数据,那么我们可以直接使用百度统计的api,在WordPress的后台仪表盘进行一个简单的显示,这里为大家整理了一些函数,大家直接放在主题的functions.php文件中即可。并且全局AJAX调用,也不会拖慢后台的速度

显示效果如下:

2.png

实现方式如下:

首先需要使用到wordPress使用wp_remote_get和wp_remote_post进行get和post请求,并封装为函数:

具体方法大家自行百度

这里需要调用其doPost方法

function zeo_get_baidu_analyse()
{
    $url = 'https://api.baidu.com/json/tongji/v1/ReportService/getData'; //百度商业账号请求地址
    // 账户类型,默认1即可
    $type         = '1';
    // 站点ID,可以提供地址栏拿到
    $siteId     = 'xxx';
    // 登录百度统计的用户名
    $username   = 'xxx';
    // 登录百度统计的密码
    $password   = 'xxx';
    // Token 获取方式:https://tongji.baidu.com/web/help/article?id=129&type=0
    $toekn      = _opz('baidu_tongji_token');
    //统计天数,维度,默认1
    $day = 1;
    $headers = array(
        'Content-Type' => ' application/json'
    );
    $data_body = [
        'header' => [
            'account_type'  => $type,
            'username'      => $username,
            'password'      => $password,
            'token'         => $toekn,
        ],
        'body' => [
            'siteId'        => $siteId,
            'method'        => 'overview/getTimeTrendRpt',
            'start_date'    => date('Y-m-d', strtotime("-" . $day . " day")),
            'end_date'      => date('Y-m-d'),
            'metrics'       => 'pv_count,ip_count,visitor_count',
            'gran'          => 'day',
            'max_results'   => $day
        ]
    ];
    try {
        $json = doPost($url, array(
            'headers' => $headers,
            'body' => json_encode($data_body),
            'timeout' => 30,
        ));
        $json = json_decode($json);
    } catch (\Exception $e) {
        echo array('error' => 1, 'msg' => $e->getMessage());
        exit();
    }
    zeo_ajax_die($json);
}
add_action('wp_ajax_get_baidu_analyse', 'zeo_get_baidu_analyse'); //管理员调用

上面这个函数主要是为了请求百度统计的数据,然后返回到JavaScript进行Ajax使用,这里面还有一个函数需要封装,也为大家准备了,就是zeo_ajax_die($json);

主要也是为了返回数据用的,进行了一次格式化数据返回,代码如下:

function zeo_ajax_die($data, $code = 0)
{
    $json['code'] = $data->code;
    $json['data'] = $data->body;
    wp_die(json_encode($json));
}

最后就是创建WordPress仪表盘,并显示数据了,代码如下:

隐藏内容
评论可见
前往评论


您需要 登录账户 后才能发表评论

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
评论列表 (有 6 条评论,1279人围观)
网友昵称:739849140
739849140 V 普通用户 QQBrowser 11.5.5250.400 Windows 10 x64 6楼
2023-05-20 来自贵州 回复
文章不错,写的很好!文章不错,写的很好!赞、狂赞、超赞、不得不赞、史上最赞!
网友昵称:Controller
Controller V 普通用户 Google Chrome 113.0.0.0 Windows 10 x64 地板
2023-05-18 来自湖北 回复
文章不错,写的很好!表示看不懂咋办?
网友昵称:c243649
c243649 V 普通用户 QQBrowser 11.6.5265.400 Windows 10 x64 凉席
2023-04-08 来自安徽 回复
真的很不错哦
网友昵称:2461172362
2461172362 V 普通用户 MIUI Browser 17.4.240216 Motorola 板凳
2023-04-02 来自江西 回复
文章不错,写的很好!emmmmm……看不懂怎么破?文章不错,写的很好!
网友昵称:50274964
50274964 V 普通用户 Google Chrome 110.0.0.0 Windows 10 x64 椅子
2023-04-01 来自四川 回复
1123123文章不错,写的很好!
网友昵称:jinqike1026
jinqike1026 V 普通用户 Google Chrome 86.0.4240.198 Windows 10 x64 沙发
2023-03-14 来自云南 回复
谢谢大佬分享[Fabulous]

目录[+]

取消
微信二维码
微信二维码
支付宝二维码