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 のテーブルを作成する
CODE:
-
# 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」の編集をクリック。以下のコードを付け加える。
PHP:
-
function counterize_getPageHits($uri) {
-
-
-
-
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 というテーブルに訪問者数が記録されていました。
SQL:
-
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. スタイルシートの追加
[表示] - [テーマエディタ] - [スタイルシート]
CSS:
-
#counterize_header {
-
font-weight : bold;
-
margin : 0 auto 0 10px;
-
}
7. テーマの変更
[表示] - [テーマエディタ] - [インデックス] で、以下のコードを探す。
PHP:
-
<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>
カウンタの表示

ホントにこれでいいのだろうか・・・