让代码更简单

WordPress仪表盘添加百度统计数据显示

重要:本文最后更新于2023-04-23 12:07:28,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗

前几天研究了下百度统计的API,为了方便查看网站数据,而不用每次都登录百度统计去看,将百度统计数据加入wordpress仪表盘是个不错的选择,下面一起来看看如何实现,学习本文你需要掌握以下知识点。

先看实现效果

WordPress仪表盘添加百度统计数据显示

WordPress仪表盘添加百度统计数据显示

最近有人刷我CDN流量,所以数据比较大。只取了一点数据,更多数据自己学了教程添加即可。

代码如下:

复制
//WordPress仪表盘添加百度统计数据显示
//https://www.daimadog.org/6821.html
function dmd_add_dashboard_widgets() { 
wp_add_dashboard_widget('custom_help_widget', '百度统计', 'bdtj_dashboard_dmd'); 
} 
add_action('wp_dashboard_setup', 'dmd_add_dashboard_widgets' ); 
function bdtj_dashboard_dmd() {
$body = array('header'=>array(
'username' => '百度统计账户',
'password' => '百度统计密码',
'token'=>'百度统计token',
'account_type'=>1
),'body'=>array(
'site_id'=>'站点ID',
'start_date'=>date("Y-m-d",strtotime("-1 day")),
'end_date'=>date("Y-m-d"),
'metrics'=>'pv_count,visitor_count,ip_count',
'method'=>'overview/getTimeTrendRpt'
));
$url='https://api.baidu.com/json/tongji/v1/ReportService/getData';//百度商业账号请求地址
$request = new WP_Http;
$result = $request->request( $url, array( 'method' => 'POST', 'body' => json_encode($body)) );
$rst=json_decode($result['body']);

$yest=$rst->body->data[0]->result->items[1][0];
$nowt=$rst->body->data[0]->result->items[1][1];
echo '日期&nbsp&nbsp&nbsp&nbsp浏览量&nbsp&nbsp&nbsp&nbsp访客数&nbsp&nbsp&nbsp&nbspIP数';
echo '</br>';
echo '今日:&nbsp&nbsp&nbsp&nbsp';
for($i=0;$i<count($nowt);$i++){
echo $nowt[$i];
echo '&nbsp&nbsp&nbsp&nbsp';
}
echo '</br>';
echo '昨日:&nbsp&nbsp&nbsp&nbsp';
for($i=0;$i<count($yest);$i++){
echo $yest[$i];
echo '&nbsp&nbsp&nbsp&nbsp';
}
}

实现过于简单,我都不知道说什么了,请求过程前面的教程已经讲过了,这里主要是将请求结果解析出来。其中使用了wordpress自带的http请求类,没有使用curl提交post请求。

没什么讲的,有问题留言。

2023-04-23更新

百度统计升级了接口,请使用下面的代码。

复制
//WordPress仪表盘添加百度统计数据显示
//https://www.daimadog.org/6821.html
function dmd_add_dashboard_widgets() { 
wp_add_dashboard_widget('custom_help_widget', '百度统计', 'bdtj_dashboard_dmd'); 
} 
add_action('wp_dashboard_setup', 'dmd_add_dashboard_widgets' ); 
function bdtj_dashboard_dmd() {
$body = array('header'=>array(
'userName' => '你的百度统计用户名',
'accessToken'=>'百度统计——数据管理——数据api菜单中获得'
),'body'=>array(
'site_id'=>'你的站点id',
'start_date'=>date("Y-m-d",strtotime("-1 day")),
'end_date'=>date("Y-m-d"),
'metrics'=>'pv_count,visitor_count,ip_count',
'method'=>'overview/getTimeTrendRpt'
));
$url='https://api.baidu.com/json/tongji/v1/ReportService/getData';//百度商业账号请求地址
$request = new WP_Http;
$result = $request->request( $url, array( 'method' => 'POST', 'body' => json_encode($body)) );
$rst=json_decode($result['body']);

$yest=$rst->body->data[0]->result->items[1][0];
$nowt=$rst->body->data[0]->result->items[1][1];
echo '日期&nbsp&nbsp&nbsp&nbsp浏览量&nbsp&nbsp&nbsp&nbsp访客数&nbsp&nbsp&nbsp&nbspIP数';
echo '</br>';
echo '今日:&nbsp&nbsp&nbsp&nbsp';
for($i=0;$i<count($nowt);$i++){
echo $nowt[$i];
echo '&nbsp&nbsp&nbsp&nbsp';
}
echo '</br>';
echo '昨日:&nbsp&nbsp&nbsp&nbsp';
for($i=0;$i<count($yest);$i++){
echo $yest[$i];
echo '&nbsp&nbsp&nbsp&nbsp';
}
}

注意:新版的accessToken有效期仅30天,如果需要自动获得accessToken,需要注册百度营销开发者,通过api自动获得。

感觉很棒!可以赞赏支持我哟~

0 打赏

评论 (7)

登录后评论
上面的代码出现错误:
日期 浏览量 访客数 IP数
今日:
Warning: count(): Parameter must be an array or an object that implements Countable in for($i=0;$i<count($nowt);$i++){
echo $nowt[$i];

昨日:
Warning: count(): Parameter must be an array or an object that implements Countable in for($i=0;$i<count($yest);$i++){
echo $nowt[$i];

是什么原因呢?
已更新,使用新版代码即可
还是一样错误,用PHP7.2以上会提示错误代码,改PHP7.1不会提示错误,但是无法取得数据
可以用了.......
好羡慕这流量,我去年差不多就是这么点
每天刷我1块钱CDN
这个就有点好玩了!
QQ咨询 邮件咨询 狗哥推荐