WordPress Popular Postsプラグインは、人気のある記事一覧をサイドバーなどに置けて便利なのだが、ログインユーザーしかカウントから外すことができず、スマホなど別の端末で自分が確認も含めアクセスすると有効になってしまう。そこまで厳密にアクセスを数える必要も無いと思うが、たまたま仕事場が固定IPアドレスなので、除外することにした。
プラグインの設定で「visitors」があったので、これをキーワードにコードを検索すると該当箇所を発見。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
// wordpress-popular-posts/wordpress-popular-posts.php if ( (0 == $this->user_settings['tools']['log']['level'] && !is_user_logged_in()) || (1 == $this->user_settings['tools']['log']['level']) || (2 == $this->user_settings['tools']['log']['level'] && is_user_logged_in()) ) { add_action( 'wp_head', array(&$this, 'print_ajax') ); // Register views from everyone and/or connected users if ( 0 != $this->user_settings['tools']['log']['level'] ) add_action( 'wp_ajax_update_views_ajax', array($this, 'update_views_ajax') ); // Register views from everyone and/or visitors only if ( 2 != $this->user_settings['tools']['log']['level'] ) add_action( 'wp_ajax_nopriv_update_views_ajax', array($this, 'update_views_ajax') ); } |
ここを
1 2 |
if ($_SERVER['REMOTE_ADDR'] != 'xxx.xxx.xxx.xxx') { // 任意のIPアドレス } |
で囲めばいい。仕事場のルーターからログインせずアクセスしてもカウントされず、4Gでスマホからアクセスするとカウントされ、作動を確認。但しプラグインの更新で戻ってしまうので要注意!