wordpress统计插件StatTraq使用及乱码问题解决
Posted by
妖刀 10 April, 2007
StatTraq是wordpress的一个统计插件,功能强大,常用的统计功能都具备了。
一、安装
- 下载后,将stattraq.php文件上传到你的wp-contents/plugins/目录下。
- 将wp-stattraq目录上传到你的wordpress根目录下。
- 浏览器中运行“你的wordpress安装目录/wp-stattraq/stattraq-install.php”文件,点击“Create the StatTraq Table”。
- 去后台激活StatTraq插件。
二、源代码分析
- StatTraq统计数据入库的代码是在StatTraq文件内。其中统计信息的代码是:
$ipAddress = statTraqGetIPAddress(); //获取IP地址
$urlRequested = $_SERVER['PHP_SELF'] . (isset($_SERVER['QUERY_STRING']) ? "?".$_SERVER['QUERY_STRING'] : " );
$browser = statTraqGetBrowser(); // 浏览器类型
$referrer = (isset($_SERVER['HTTP_REFERER']) ? "'" . $_SERVER['HTTP_REFERER'] . "'" :"NULL"); // 来源
$userAgent = (isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : "NULL");
$search_phrase = statTraqGetSearchPhrase($referrer); // 搜索关键词
- wp-stattraq/reporter下的文件,就是你在后台查看时,输出统计信息的脚本。后台的哪个菜单,对应哪个文件,可以通过链接的URL来查看。比如Search Terms对应的URL是“index.php?view=query_strings...”,说明调用query_strings.php文件。要想修改相应的输出,只需要修改相应的文件即可。
三、添加baidu搜索数据
- 在StatTraq.php的statTraqGetBrowser函数中添加识别baidu蜘蛛的代码:
}else if(strpos($ua, "Baiduspider") !== false){
$browser_type = ST_BOT;
$s_id = "Baiduspider";
return "Baiduspider";
}else if(strpos($ua, "sohu-search") !== false){
$browser_type = ST_BOT;
$s_id = "SogouBot";
return "SogouBot";
}
- 在StatTraq.php的statTraqGetSearchPhrase函数中添加识别baidu关键词的代码:
}else if(strpos($referrer, "baidu.")!== false){
$key = "wd";
}else if(strpos($referrer, "sogou.")!== false){
$key = "query";
四、解决乱码问题
-
1.打开/wp-stattraq/reporter/summary.php,找到第140行
post_title));?> ,修改为
post_title),ENT_NOQUOTES,’utf-8′);?>2.打开/wp-stattraq/reporter/query_strings.php,找到第88行
htmlentities($row->search_phrase) ,修改为
htmlentities($row->search_phrase,ENT_NOQUOTES,’utf-8′)- 解决StatTraq的乱码问题
- 在StatTraq.php的 “$search_phrase = statTraqGetSearchPhrase($referrer);” 语句后,添加
if(strpos($referrer, "baidu.")!== false)
{
$search_phrase = iconv("gb2312","UTF-8",$search_phrase);
}
参考文章:
Categories :
技术 / 设计



Comments
No comments yet.