评论可见
前往评论
做网站肯定要了解相关网站数据,有时候懒得登陆查看,例如一些PV/UV/IP等数据,那么我们可以直接使用百度统计的api,在WordPress的后台仪表盘进行一个简单的显示,这里为大家整理了一些函数,大家直接放在主题的functions.php文件中即可。并且全局AJAX调用,也不会拖慢后台的速度
显示效果如下:
实现方式如下:
首先需要使用到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仪表盘,并显示数据了,代码如下:
发表评论