WordPressの管理画面で記事の閲覧数を表示する2つの方法についてご紹介します。投稿画面から見れるようにするとすぐにアクセスの把握ができるので大変おすすめです。
自分のサイトのアクセスはサイトを運営している以上、切っては切れないマスト確認事項ですよね。Google AnalyticsやGoogle Adsendでもページビュー数(PV)などを確認することができますが、毎度見に行くのも大変ですし、Wordpressの投稿画面からページビュー数(PV)を一覧できるようにする方法をご紹介します。
投稿一覧(管理画面)に閲覧数を表示する方法
プラグイン[WP-PostViews]をインストールして表示することもできますが、プラグインをたくさんインストールして有効化していくと、サイト表示時に読み込むJavascriptやcssが増えていきますので、今回プラグインを使用しない方法からご紹介したいと思います。
難しくありませんのでこれができると良いですよ。コピペすれば大丈夫!
1. functions.phpにこれを記述する
// ページビュー数のカウンターのセット function setPostViews($postID) { $count_key = 'post_views_count'; $count = get_post_meta($postID, $count_key, true); if($count==''){ $count = 0; delete_post_meta($postID, $count_key); add_post_meta($postID, $count_key, '0'); }else{ $count++; update_post_meta($postID, $count_key, $count); } } // ページビュー数を取得する function getPostViews($postID){ $count_key = 'post_views_count'; $count = get_post_meta($postID, $count_key, true); if($count==''){ delete_post_meta($postID, $count_key); add_post_meta($postID, $count_key, '0'); return "0 View"; } return $count.' Views'; } // 管理画面に閲覧数項目を追加する add_filter( 'manage_pages_columns', 'count_add_column' ); add_filter( 'manage_posts_columns', 'count_add_column' ); function count_add_column( $columns ) { $columns['views'] = '閲覧数'; return $columns; } // 管理画面にページビュー数を表示する add_action( 'manage_pages_custom_column' , 'count_add_column_data', 10, 2 ); add_action( 'manage_posts_custom_column' , 'count_add_column_data', 10, 2 ); function count_add_column_data( $column, $post_id ) { switch ( $column ) { case 'views' : echo getPostViews($post_id); break; } } // 閲覧数項目を並び替えれる要素にする add_filter( 'manage_edit-page_sortable_columns', 'column_views_sortable' ); add_filter( 'manage_edit-post_sortable_columns', 'column_views_sortable' ); function column_views_sortable( $newcolumn ) { $columns['views'] = 'views'; return $columns; } // ページビュー数で並び替えるようにリクエストを送る add_filter( 'request', 'sort_views_column' ); function sort_views_column( $vars ) { if ( isset( $vars['orderby'] ) && 'views' == $vars['orderby'] ) { $vars = array_merge( $vars, array( 'meta_key' => 'post_views_count', //Custom field key 'orderby' => 'meta_value_num') //Custom field value (number) ); } return $vars; }
2. Single.phpにこれを記述する
投稿だったら single.php に、固定ページだったら page.phpに以下のコードを記入します。
固定ページにも投稿にもスマホでもサイドバーを表示していたら、sidebar.phpに記述しても動作します。要は読み込まれた時にカウンターが動作されますので、読まれない、重複読み込みされなければ、好きなところで良いわけです。
<?php setPostViews(get_the_ID()); ?>
この2個の作業をすると、投稿管理画面には以下のようにページビュー数が表示されることになります。
プラグインで実現する方法 WP-PostViews
【WP-PostViews】プラグインで1でご紹介したプラグインを使用しない方法と同様のことができます。たくさんプラグインを入れていない場合はこちらをサクッと利用するのも良いでしょう。
WP-PostViewsの使用方法について
使い方は簡単です。プラグインをインストールすると、管理画面メニューの「設定」の中に「PostViews」という項目が現れます。
設定はざっくり、以下の通りとなります。
一番下の変更を保存したら完了です。管理画面に「表示数」というメニューが増えているはずです。誤差がある感じが否めませんが簡易的にアクセス数を確認できますので大変便利です。
まとめ:
やっぱりプラグインは楽!なのでおすすめですが、もしもプラグインをたくさん入れている人は、テーマファイルにコードを貼って読み込み回数を減らすことをしてみましょう。
なお、アクセス数のカウントは少しアバウトなところがありそうなので、詳細なアクセス解析はGoogle Analyticsなどを併用するのが良いでしょう。あくまで簡易的な使用がおすすめです。
プラグインを使用せずに投稿一覧(管理画面)に閲覧数を表示する方法、大変参考になりました。
この投稿一覧に表示させた閲覧数を、訪問者が見れるように、サイト上の記事一覧のタイトル横やメタ情報欄等に表示させることは可能でしょうか?(テーマはluxeritusを使用しています)
はじめまして。当サイトをご覧いただきありがとうございます。
ご要望としては、ページ閲覧数をサイト上に表示させたいということですよね。簡単な方法としては、WordPress Popular Postsというプラグインを使うと人気記事と共に閲覧数を表示することができます。
人気記事関係なくすべてのページについて表示したい場合は、 と を使って表示してみてください。
テーマファイルのsingle.phpのどこかに を挿入してカウントします。そしてでそれを表示させます。
luxeritusテーマは使ったことがないのですが、タイトル横に表示したい場合はsingle.phpか、タイトルの
があるファイルにgetPostViewsを記載すると表示されると思います。
今気が付きましたが<php>のコードが消えていました。
<?php echo getPostViews(get_the_ID() ) ?> のように記載すれば表示させることができます。