WordPress with Stats

iPod Touch を車の中でも使おうと思ってFMへ飛ばすトランスミッターを買おうと思っていろいろ調べてます。バッファローのやつが安くて良さそうなんですが・・・レビューでは評価が分かれてますね・・・う~ん・・・週末までにはゲットしたい。

で、そんなことはともかく・・・。

仕事で管理中のWordpressで運用しているサイトがあるんですが、アクセス状況が知りたい、ということで、まぁ、定番の プラグイン、Stats を導入したんですが、設定・・・というか、Wordpressの仕様?でハマってしまいました。

Statsのインストール・設定は、すんなりいってダッシュボードに統計情報が表示されるようにはなったんですが・・・、問題点が一つ。

そのサイトは、一般には公開してなくて、閲覧するにはユーザー登録して常にログインをしないと見れないのですが、問題は、Statsは、「ログインしたユーザーはカウントしない」、という点。閲覧する人は常にログインするので何時まで経ってもアクセス状況がゼロです・・・それは非常困る(笑)

ログインしたユーザーをはじくのは、Statsの仕様みたいなので・・・諦めて他のプラグインを・・・と思ったんですが・・・StatsのカッコイイUIは捨てがたい(^^;;;

ということで、Statsの本体、Stats.php を改造することにしました。

で、改造自体は簡単です。ログインしたユーザーをはじいている部分は、function stats_footer(){} で、要するに、ログインしているユーザーは、アクセス解析タグを出力しない設定になっているようですね・・・。

変更部分は、stats_footer関数の次の部分。

if ( !empty($current_user->ID) || empty($options["blog_id"]) )
 return;

これだと、ログインしたユーザー全てをはじいてしまうので・・・結果的に

  if(!empty($current_user->ID))
    {
      if($current_user->ID == 1 || $current_user->user_level == 10)
        return;
    }

  if(empty($options['blog_id']))
    return;

としました。

はじめ、管理者権限があるユーザーをはじくように、はじく条件を$current_user->user_level == 10 とだけしていたんですが・・・ID が 1の要するにブログを作ったときに初期状態で設定されるadminユーザーは user_level は空なんですね・・・これは分からなかったです。adminユーザーで検証していたので しばらく????でした(^^; でも、ドキュメントでは、DBの項目に user_levelが載っているのですが、実際にphpmyadminで直接インストールしたwordpressのDBを覗いてみてもuser_levelというカラムがないんですよね・・・??? よく分からない・・・が、まぁ解決したので良しとしよう(^^;;;

で、結果的に ユーザーIDが1(つまりadminユーザー)とuser_levelが10のユーザーをはじくようにすると、上手いこといきました。午後の三時間ほど無駄にしたな・・・。

ふう。

WordPress with Stats」への2件のフィードバック

  1. たなか のコメント:

    ブログも休止してたのかと思ってました(^^;

    本文とあまり関係ないのですが、僕のサイトもアクセス解析しようと思い、「Research Artisan Lite」というのを設置してみました。10日ほど前です。

    で、、、動きませんでした(^^;;

    原因わかりません。phpで、なんちゃらエラーが出てきます。レンタルサーバが対応してない、とかでしょうか?

  2. ちょっと最近体調が悪くて更新する意欲が落ちてました(^^;;

    さすがに、「なんちゃら」というエラーでは、
    僕も原因の見当も付きません(笑)

コメントは停止中です。