Bloody Mary - blog

Bloody Mary 別館

WordPress にカウンターを設置する

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 のテーブルを作成する

  1. # mysql -u root -p
  2. mysql> use wordpress; ← WordPress で使っている DB 名
  3. mysql> create table wp_Counterize
  4. (
  5. id integer not null auto_increment,
  6. IP varchar(16) not null default 'unknown',
  7. `timestamp` TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL ,
  8. url varchar(255) not null default 'unknown',
  9. referer varchar(255) not null default 'unknown',
  10. useragent text,
  11. primary key(id)
  12. ); ← ここまでで 1 行。なお、 wp_ は WordPress インストール時に設定した接頭語。
  13. 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」の編集をクリック。以下のコードを付け加える。

  1. function counterize_getPageHits($uri) {
  2.  
  3.  $a = parse_url($uri);
  4.  parse_str($a['query']); # Check
  5.  if(ereg("[0-9]+$", $p)) {
  6.   $num_p = $p;
  7.  
  8.   #以下、間違っていました。(2008.03.21 修正)
  9.   #$sql = "SELECT count(1) FROM " . counterize_logTable() . " WHERE pageID = '" . $num_p . "'";
  10.     $sql = "SELECT count FROM wp_Counterize_Pages WHERE url = '" . $uri . "'";
  11.  
  12.   $wpdb =& $GLOBALS['wpdb'];
  13.   $result = $wpdb->get_var($sql) . " Access";
  14.  } else {
  15.   $result = "";
  16.  }
  17.  return $result;
  18. }

2008.03.21 追記

wp_Counterize_Pages というテーブルに訪問者数が記録されていました。

  1. mysql> select * from wp_Counterize_Pages where url = "/bloody-mary/wordpress/?p=17";
  2. +--------+------------------------------+-------+--------+
  3. | pageID | url                          | count | postID |
  4. +--------+------------------------------+-------+--------+
  5. |     26 | /bloody-mary/wordpress/?p=17 |    62 |     17 |
  6. +--------+------------------------------+-------+--------+
  7. 1 row in set (0.00 sec)

6. スタイルシートの追加

[表示] – [テーマエディタ] – [スタイルシート]

  1. #counterize_header {
  2.     font-weight        : bold;
  3.     margin             : 0 auto 0 10px;
  4. }

7. テーマの変更

[表示] – [テーマエディタ] – [インデックス] で、以下のコードを探す。

  1. <div class="meta">
  2.     <?php _e("Filed under:"); ?> <?php the_category(',') ?> — <?php the_author() ?> @ <?php the_time() ?> <?php edit_post_link(__('Edit This')); ?>
  3.  
  4.       # 以下のコードを追加する。
  5.       <spanid="counterize_header"><?php echo counterize_getPageHits($_SERVER&#91;'REQUEST_URI'&#93;); ?></span>
  6.   </div>
カウンタの表示

記事毎のカウンタ表示

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

Updated: 2012/6/5 火曜日 — 16:02:22

2 Comments

Add a Comment

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Bloody Mary - blog © 2008 - 2021