WordPress 改造計画
Counterize II というプラグインは統計を取るためのものだが、アクセスカウンタとしても使えるらしい。というわけで、インストールしてみた。
※ コード部分の PLAIN TEXT をクリックするとテキストで表示されます。見やすい方で見てください。
1. ファイルを DL 、解凍、アップする
Counterize II – English から DL ページに跳んで、「Download Plugin」 をクリックすることで DL できる。
解凍後、 wordpress/wp-content/plugins/ にディレクトリごとアップロードする。
管理画面から編集できるように、 counterize.php のパーミッションを 666 (なるべく最小権限) にしておく。
2. Counterize II を日本語化する
Counterize II 日本語版のページより、 counterize-ii 2.10-ja_UTF を DL する。
解凍したファイルを Counterize II のフォルダに上書き。
3. MySQL のテーブルを作成する
- # mysql -u root -p
- mysql> use wordpress; ← WordPress で使っている DB 名
- mysql> create table wp_Counterize
- (
- id integer not null auto_increment,
- IP varchar(16) not null default 'unknown',
- `timestamp` TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL ,
- url varchar(255) not null default 'unknown',
- referer varchar(255) not null default 'unknown',
- useragent text,
- primary key(id)
- ); ← ここまでで 1 行。なお、 wp_ は WordPress インストール時に設定した接頭語。
- mysql> quit;
なお、テーブルを作成する作業は、 Counterize プラグインを有効にしたときに、自動でやってくれるかもしれない。以下のテーブルが作成されていたし。
- wp_Counterize
- wp_Counterize_Keywords
- wp_Counterize_Pages
- wp_Counterize_Referers
- wp_Counterize_UserAgents
4. プラグインの有効化
管理画面にログインする。
[プラグイン] – [プラグイン] で、 「Counterize II」を有効化する。
以上で Counterize II が有効になり、アクセス数の統計が取れるようになった。
以降、 WordPress にアクセスカウンタを表示させるための設定。
5. プラグインに新しい関数を追加
[プラグイン] メニューの「Counterize II」の編集をクリック。以下のコードを付け加える。
- function counterize_getPageHits($uri) {
- $a = parse_url($uri);
- parse_str($a['query']); # Check
- if(ereg("[0-9]+$", $p)) {
- $num_p = $p;
- #以下、間違っていました。(2008.03.21 修正)
- #$sql = "SELECT count(1) FROM " . counterize_logTable() . " WHERE pageID = '" . $num_p . "'";
- $sql = "SELECT count FROM wp_Counterize_Pages WHERE url = '" . $uri . "'";
- $wpdb =& $GLOBALS['wpdb'];
- $result = $wpdb->get_var($sql) . " Access";
- } else {
- $result = "";
- }
- return $result;
- }
2008.03.21 追記
wp_Counterize_Pages というテーブルに訪問者数が記録されていました。
- mysql> select * from wp_Counterize_Pages where url = "/bloody-mary/wordpress/?p=17";
- +--------+------------------------------+-------+--------+
- | pageID | url | count | postID |
- +--------+------------------------------+-------+--------+
- | 26 | /bloody-mary/wordpress/?p=17 | 62 | 17 |
- +--------+------------------------------+-------+--------+
- 1 row in set (0.00 sec)
6. スタイルシートの追加
[表示] – [テーマエディタ] – [スタイルシート]
- #counterize_header {
- font-weight : bold;
- margin : 0 auto 0 10px;
- }
7. テーマの変更
[表示] – [テーマエディタ] – [インデックス] で、以下のコードを探す。
- <div class="meta">
- <?php _e("Filed under:"); ?> <?php the_category(',') ?> — <?php the_author() ?> @ <?php the_time() ?> <?php edit_post_link(__('Edit This')); ?>
- # 以下のコードを追加する。
- <spanid="counterize_header"><?php echo counterize_getPageHits($_SERVER['REQUEST_URI']); ?></span>
- </div>
カウンタの表示
ホントにこれでいいのだろうか・・・
2 Comments
Add a Comment