wordpress统计插件StatTraq使用及乱码问题解决

Posted by 妖刀 10 April, 2007

StatTraq是wordpress的一个统计插件,功能强大,常用的统计功能都具备了。

一、安装

  1. 下载后,将stattraq.php文件上传到你的wp-contents/plugins/目录下。
  2. 将wp-stattraq目录上传到你的wordpress根目录下。
  3. 浏览器中运行“你的wordpress安装目录/wp-stattraq/stattraq-install.php”文件,点击“Create the StatTraq Table”。
  4. 去后台激活StatTraq插件。

二、源代码分析

  1. 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); // 搜索关键词
  2. wp-stattraq/reporter下的文件,就是你在后台查看时,输出统计信息的脚本。后台的哪个菜单,对应哪个文件,可以通过链接的URL来查看。比如Search Terms对应的URL是“index.php?view=query_strings...”,说明调用query_strings.php文件。要想修改相应的输出,只需要修改相应的文件即可。

三、添加baidu搜索数据

  1. 在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";
    }
  2. 在StatTraq.php的statTraqGetSearchPhrase函数中添加识别baidu关键词的代码:
    }else if(strpos($referrer, "baidu.")!== false){
    $key = "wd";
    }else if(strpos($referrer, "sogou.")!== false){
    $key = "query";

四、解决乱码问题

  1. 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的乱码问题

  2. 在StatTraq.php的 “$search_phrase = statTraqGetSearchPhrase($referrer);” 语句后,添加
    if(strpos($referrer, "baidu.")!== false)
    {
    $search_phrase = iconv("gb2312","UTF-8",$search_phrase);
    }

参考文章:

Categories : 技术 / 设计 Tags :

Comments

No comments yet.


Leave a comment

(required)

(required)