2008年2月14日(木) 20:02:42 @ Charlie

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

Category : Counterize2

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:
  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」の編集をクリック。以下のコードを付け加える。

PHP:
  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 というテーブルに訪問者数が記録されていました。

SQL:
  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. スタイルシートの追加

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

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

7. テーマの変更

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

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

カウンタの表示

記事毎のカウンタ表示

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

2件のコメント »

  1. [...] ※ 記事「WordPress にカウンターを設置する」で改造している人は、これをやらないと動かない。 [...]

    ピンバック by Counterize II のバージョンアップ作業 | Bloody-Mary - blog — 2008/11/29 土曜日 @ 0:06:41

  2. [...] ※ 記事「WordPress にカウンターを設置する」で改造している人は、これをやらないと動かない。 [...]

    ピンバック by Counterize II のバージョンアップ作業 | Bloody Mary - blog — 2011/2/21 月曜日 @ 7:06:20

この投稿へのコメントの RSS フィード。 TrackBack URL

コメントする

お名前 (必須)
email (必須)
WebSite
本文
 

XHTML: 使用可能なタグ: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt="">

Counter : Access
ログイン