プラグイン改造メモ(Counterize II)

WordPressWordPress

プラグインの改造メモ。次何かあったとき困らないようにあくまでも自分用メモ。
※とてもド素人の試行錯誤なのであんまり当てにはならない!(内容保証なし)

せっかくなので久しぶりにカウンターつけてみるか!とがんばってみた。
しかし、後でよく考えたら普通にCGIとか引っ張って来た方が楽だった。

■Counterize IIを使ってカウンターをつける。
まずはCounterize IIをダウンロード。
昨日の数はこのままではカウントできないので、countrize.phpのソースをいろんなサイトを参考にしながらいじる。

232行目に本日のヒット数を取得する所がある。

# Returns amount of hits today.
function counterize_gethitstoday()
{
$today = date(“Y-m-d”);
$sql = “SELECT COUNT(1) FROM “.counterize_logTable().” WHERE timestamp >= ‘$today'”;
$wpdb =& $GLOBALS[‘wpdb’];
return $wpdb->get_var($sql);
}

そのすぐ下に昨日用の関数を入れる。

# Returns amount of hits yesterday.
function counterize_gethitsyesterday()
{
$today = date(“Y-m-d”);
$yesterday = date(“Y-m-d”,strtotime(“-1 day”));
$sql = “SELECT COUNT(1) FROM “.counterize_logTable().” WHERE timestamp >= ‘$yesterday’ AND timestamp < ‘$today’ “;
$wpdb =& $GLOBALS[‘wpdb’];
return $wpdb->get_var($sql);
}

総アクセス数を表記させるのはなんか詐欺のような気がして嫌なので、ユニークアクセスの数をカウントさせたい。よってユニークアクセスについても昨日の分をカウントできるようにする。

550行周辺に本日のユニーク数をカウントしてくれる部分を発見。

# Returns amount of unique hits today
function counterize_getuniquehitstoday()
{
$today = date(“Y-m-d”);
$sql = “SELECT count(DISTINCT ip) FROM “.counterize_logTable().” WHERE timestamp >= ‘$today'”;
$wpdb =& $GLOBALS[‘wpdb’];
return $wpdb->get_var($sql);
}

このすぐ下に、いろいろ見比べて昨日のユニーク数をカウントさせる関数を入れる(注:ここ自信ない!のでうまくいかない可能性ある!)

# Returns amount of unique hits yesterday.
function counterize_getuniquehitsyesterday()
{
$today = date(“Y-m-d”);
$yesterday = date(“Y-m-d”,strtotime(“-1 day”));
$sql = “SELECT COUNT(DISTINCT ip) FROM “.counterize_logTable().” WHERE timestamp >= ‘$yesterday’ AND timestamp < ‘$today’ “;
$wpdb =& $GLOBALS[‘wpdb’];
return $wpdb->get_var($sql);
}

これでプラグインの改造は終わり。アップロードしてプラグインを有効化する。
次にカウンターを表記させたい場所に以下のPHPコードを入れる。

Today : <?php echo counterize_getuniquehitstoday();?>, Yesterday : <?php echo counterize_getuniquehitsyesterday();?>, Total : <?php echo counterize_getuniqueamount(); ?>

このコードだとユニークビジターの数になるので、総アクセス数を表示させたい場合はgetunique~からuniqueをとればいい。

……、ん?ユニーク数表示させるだけならもしかして一つめの「昨日のヒット数」の改造は不要?ようわからんのでとりあえずこのままにしておく。

 ★参考サイト(とても感謝)
  WordPressのアクセス解析(カウンター)プラグインCounterize IIを導入