WordPressでホームページを運営していると日々のアクセス数は気になりますよね?
しかし、Googleアナリティクスをいちいち開くのは面倒ですし、簡単なアクセス数だけ知りたいのでGoogleアナリティクスやアクセス数を測るプラグインのゴチャゴチャした画面も見たくもないという方には、Wordpressの投稿一覧にアクセス数を表示することをお勧めいたします。
※この記事の内容を実行する場合は個人の責任の範囲でお試しください。不具合やトラブルなどが発生した場合は責任は取れませんのでご了承ください。
アクセス数表示プラグインは使わない
WP-PostViewsはイマイチ?
「Wordpress」「投稿一覧」「アクセス数(PV数)」などで検索するとWP-PostViewsというプラグインが出てきます。こちらのプラグインでもアクセス数は出るのですが、WP-PostViewsを有効化した時からの累計のアクセス数になります。
なので、一つの記事をアップしたとしたらその記事がトータルでどれくらいアクセスがあったかを知るだけの機能となってしまいます。
そうではなくて、投稿一覧に「今日のアクセス数」「週間のアクセス数」「月間のアクセス数」「トータルのアクセス数」を表記することが目的なので、WP-PostViewsは趣旨とは異なるため今回は却下としました。
テーマCocoonを参考に作る
弊社のこのサイトはGenesisという親テーマとEnterprise Proという子テーマを使用しているのですが、別の運営サイトではわいひら@寝ログさんによって無料配布されているCocoonというテーマを使用しています。
このCocoonというテーマは管理のしやすさやSEOの面において「これで無料!?」と衝撃を受けるくらい素晴らしく使いやすいテーマで、特に日々記事をアップするブロガーにとってはナンバー1と言っても過言ではないくらい記事を管理しやすいテーマの一つだと思っております。
このCocoonのテーマは、デフォルトの投稿一覧にPV数の表示がされており、しかも「日」「週」「月」「全」と異なるスパンでのアクセス数を知ることができます。
一度これに慣れてしまうとこれ無しだと物足りなく感じるくらい非常に便利なUIで、他のテーマでも同様に投稿一覧にアクセス数表示が欲しい!という思いがつのったため、他のテーマでも無理やりカスタマイズしようという考えに至ったわけです。
functions.phpにコードを書き込む
プラグインCode Snippetsをインストール
投稿一覧へのアクセス数表示はfunctions.phpにコードを書き込む必要があるのですが、直接書き込んでエラーなどが発生すると面倒なので、まずはfunctions.phpに書き込むためのプラグインCode Snippetsをインストールします。
functions.phpの編集に失敗した場合、サイトのデザインが崩れてしまったり、画面が真っ白になってしまうという最悪の自体が起こり得ますが、このプラグインは直接自分でfunction.phpに手を加えずファイルの編集・管理を簡単に行うことができます。
インストールは他のプラグインと同様、プラグイン→新規追加→Code Snippetsと入力すれば表示されます。
Code Snippetsにコードを書き込む
Code Snipettsをインストールしたら次にAdd Newをクリックします。
タイトルには自分でわかりやすいような名前を記載します。ここでは「投稿一覧ページ_PV数」としました。
そして投稿一覧にPV数を表示するためのコードを記載します。内容は以下となります。
/* 管理画面にPV数を表示 */
if(function_exists('wpp_get_views')){
add_filter('manage_posts_columns', function($columns){
$columns['view'] = "View";
return $columns;
});
add_action('manage_posts_custom_column',function($column_name, $post_id){
if($column_name == 'view'){
echo '日:', wpp_get_views ( get_the_ID(), 'daily' );
echo "<br />";
echo '週:', wpp_get_views ( get_the_ID(), 'weekly' );
echo "<br />";
echo '月:', wpp_get_views ( get_the_ID(), 'monthly' );
echo "<br />";
echo '全:', wpp_get_views ( get_the_ID(), 'all' );
}
},10,2);
}
ちゃんと表示されているか確認
コードを記載し終わったら投稿一覧ページでちゃんと表示されているか確認します。問題なければ完了です。記載したコードを適用するかどうかはCode Snipettsの画面上でON/OFFで切り替えられますので、必要ないと思った時はOFFにしましょう。
投稿一覧ページに文字数も表示しよう
PV数と同じく、Cocoonの投稿一覧ページでは文字数の表記もデフォルトで備わっていいます。しかも「題(タイトル)」と「本文」の両方です。SEOの観点において、タイトルの文字数や本文の文字数は重要になってくるためぜひ投稿一覧に表示したいところです。
こちらも先ほどのPV数と同様にAdd Newから新規に立ち上げて作成します。ここでは「投稿一覧_文字数表示」というタイトルにしました。
コードは以下になります。
/**********************
記事一覧に文字数を表示
**********************/
function manage_posts_columns($columns) { //項目を追加
$columns['title_wordcount'] = "文字数";
return $columns;
}
function add_column($column_name, $post_id) {
global $post;
if( $column_name == 'title_wordcount' ) { //SJISに変換してカウント
$title_word = (strlen(mb_convert_encoding($post -> post_title,'SJIS', 'UTF-8')))/2;
echo '題:', $title_word;
echo "<br />";
$main_word = str_replace( array("\r\n","\r","\n"), '', strip_tags( $post -> post_content)) ;
$main_word = mb_strlen( $main_word);
echo '本文:', $main_word;
}
}
add_filter( 'manage_posts_columns', 'manage_posts_columns' );
add_action( 'manage_posts_custom_column', 'add_column', 10, 2 );
以上で完了です。
投稿一覧ページにサムネイル画像も表示しよう
ここまできたらサムネイルも表示しましょう。
通常の投稿一覧ページはサムネイルがないのでタイトルの文字を読みながら探さしたい記事を見つけなければならないので結構ストレスです。ですがサムネイルが表示されていれば直感的に記事を見つけられるのでとてもストレスが軽減されます。
Add Newで立ち上げ、「投稿一覧_サムネイル表示」など好きなタイトルをつけましょう。
そして以下コードを記載します。
/**
* カラムを追加
*/
function aktk_add_thumbnail_columns( $columns ) {
$columns = array_merge( $columns, array( 'aktk_thumbnail' => 'アイキャッチ画像' ) );
return $columns;
}
add_filter( 'manage_posts_columns', 'aktk_add_thumbnail_columns' );
/**
* カラムの中身を追加
*/
function aktk_add_thumbnail_custom_column( $column, $post_id ) {
if ( 'aktk_thumbnail' == $column ) {
$img = get_the_post_thumbnail(
$post_id,
'full',
array(
'style' => 'max-width:100%;height:auto;',
)
);
if( ! empty( $img ) ) {
echo $img;
}
}
}
add_action( 'manage_posts_custom_column', 'aktk_add_thumbnail_custom_column', 10, 2 );
完成した投稿一覧画面
以上です。完成した投稿一覧ページの画面は以下になります。
このカスタマイズによって記事を直感的かつSEO的に管理しやすくなったのではないでしょうか?
ブログや記事の投稿においてモチベーションが下がる理由としては、時間をかけて書いた記事が誰にも読まれていないんじゃないか?誰もアクセスしていないんじゃないか?と考えてしまうことも要因の一つだと思います。
もちろんGoogleアナリティクスなどチェックすればそんなことないのは一目瞭然ですが、今回のカスタマイズによって日々のアクセス数が簡単にわかると自ずとモチベーションも上がってくるかと思います。