WordPress历程小记(3)——安装WP-OnlineCounter插件

六月 29th, 2009

本着够用就行的原则,在搭好blog之后就把wp放在那里,也不管样式有多难看、帖子没有摘要、xxx等影响用户体验的问题。但是实在另自己受不了的是,竟然wp默认功能没有在线统计。这周末趁着有时间,就着手把这个功能添加上。

在线统计插件之中,WP-OnlineCounter是安装比较方便、易用性比较好的,以下是我安装wp-onlinecounter的步骤:
(1~5步,参考网上的方法)
1.下载wp-onlinecounter。
到插件作者的blog上,具体地址”http://faked.org/blog/wp-onlinecounter/“,下载最新版本的wp-onlinecounter,我下的是v0.11。

2.解压下载的压缩包,并上传到服务器上wordpress的wp-content/plugins目录下。

3.在wp的管理平台中激活wp-onlinecounter插件。

4.在数据库中执行以下命令,添加表:
CREATE TABLE wp_onlinecounter (
timestamp int(15) NOT NULL default ‘0′,
ip varchar(15) NOT NULL default ”,
count int(15) NOT NULL default ‘0′,
maxon int(6) NOT NULL default ‘0′,
maxontime int(15) NOT NULL default ‘0′,
PRIMARY KEY (timestamp)
) TYPE=MyISAM;

5.在sidebar.php中添加显示统计值部分。
sidebar.php在wp-content/themes/blueclouds目录下。(注:blueclouds是我的主题,你所修改的sidebar.php文件应该在你的主题目录下。如,在wp-content/themes/xxx目录下)。
在sidebar.php添加以下内容:
<?php if(function_exists(’wp_onlinecounter’)) wp_onlinecounter(); ?>
我是在倒数第2行之前加入此句,并增加了li标签。就是“ <li><?php if(function_exists(wp_onlinecounter)) wp_onlinecounter(); ?></li>”这样子。

但是在我完成以上几步之中,发现onlinecounter的计数功能有问题,并不能显示当前的在线人数等信息。在baidu&google上搜索也没有发现问题的原因,没办法了,只能自己看源码了。

6.打开wp-onlinecounter.php,修改部分代码。
(中间发现问题的过程部分略去)
a.增加全局变量$current_user和$user_level的声明。
global $current_user;
global $user_level;

说明:b
$user_level是访问用户的级别,非注册用户为0,admin为10。
$current_user是当前用户的信息的数组,程序中将$user_level赋值为$current_user-user_level。

b.去掉对“get_currentuserinfo();”的注释,get_currentuserinfo()获取当前用户的部分信息,并会对$current_user赋值。

//get_currentuserinfo();
修改为
get_currentuserinfo();

c.修改数据库表。(网上方法是5个字段,我用的版本应该是6个字段。可能是版本差异的原因)
通过php脚本,发现数据库表应该是6个字段。
在wp_onlinecounter表中增加“request_uri”字段(这个字段名随意取,自己觉得合适就行),类型varchar,长度长一些(我用50),不要选字段自增。

完成第6步(主要是对网上方法的对于v0.11的更正),刷新的个人站点的任意页面,发现计数统计显示正常。

以上1~5步为参考网上他人方法,6为笔者读源码后自己得出。
如有问题或疑问,请提出指正,谢谢。

Leave a Reply