「WordPress Popular Posts」プラグインの閲覧View数を個別投稿やページ内、投稿一覧に表示する方法

公開日: 更新日: Wordpress
Knowledge Base Wordpress パソコン カスタマイズ 設定




WordPressにはアクセス解析系のプラグインが星の数ほどあります。中でも人気記事の一覧を表示できる人気プラグイン「Wordpress Popular Posts」を使っている方は多いのでは?せっかく「Wordpress Popular Posts」プラグインを使って人気記事を表示しているのですから、この閲覧データを個別の投稿記事や固定ページで使わない手はない!ということで、今見ている投稿記事や固定ページに表示数(view数)を表示する方法を紹介します。

「Wordpress Popular Posts」プラグインのView数を個別記事やページ内に表示するコード

 この記事のタイトル下にある帯には通常「公開日」「更新日」「カテゴリーリンク」が表示されるのですが、ここのスペースに「Wordpress Popular Posts」で蓄積されているデータから「本日の閲覧数」と「累計の閲覧数」を抽出して表示しています。実際に使っているコードは

<?php
    if (function_exists('wpp_get_views'))
        echo '本日'.wpp_get_views( get_the_ID(),daily).'/'; // Wp popular posts 本日view数
?>
<?php
    if (function_exists('wpp_get_views'))
        echo '累計'.wpp_get_views( get_the_ID()).'views'; // Wp popular posts 累計view数
?>
【注意】コードをコピーして使用する前に必ずお読みください

この記事内にコードが記載されている場合、コードはそのままコピー(いわゆるコピペ)してお使いいただいても構いませんが、以下の件にご留意ください。

使用については自己責任でお願いします

コードの確認は私の管理するサイト、またはテスト環境で問題が起こらなかったものですので、お使いの環境での動作等を保証するものではありません。

万が一このコードを使用してサイトに重篤なトラブルが生じても当サイト、当サイト管理者は一切責任を負いません

コードの変換エラーなどにより動作しない場合、更新エラーが出る場合があります

コードをそのままコピーしても問題なく使えるよう文字列変換を行った上で掲載しておりますが、希に変換できていない場合があり、コードエラーとなることがあります

その場合には以下の方法で修正を行ってみてください

  1. コードの中に全角の記号が入っていませんか?
  2. 半角にすることで解消できます
  3. コードの中に全角の空白(スペース)がありませんか?
  4. 半角にすることで解決できます
  5. 上のようなことがないのに更新できない
  6. 特に日本語での文字列が入っている場合には全角での文字列があるということでエラーになる場合があります。エラーとして返される行の先頭に空白がある場合には空白をなくすことできちんと認識され更新されるようになることが多いです。

コードを転載する場合には

ご自身のサイトで当ページのコードを転載される場合には必ず当ページへのリンクを入れていただきますようお願いいたします

です。これは、

に掲載されていたテンプレートタグを少しカスタマイズして、本日分と累計両方の数字を表示することと日本語の文言を加えたものになります。ネタ元が「Wordpress Popular Posts」のデータですからその他のプラグインやGoogle Analyticsなどのアクセス解析ツールで計算されるアクセス数(ページビュー数)とは差異がありますが、閲覧される方が記事を見たときの目安として、また、記事編集する際の目安として表示してはいかがでしょうか?

View数を個別記事やページ内に表示するコードに関する説明

基本となるのは累計値の表示に使っている

<?php
    if (function_exists('wpp_get_views'))
        echo '累計'.wpp_get_views( get_the_ID()).'views'; // Wp popular posts 累計view数
?>
【注意】コードをコピーして使用する前に必ずお読みください

この記事内にコードが記載されている場合、コードはそのままコピー(いわゆるコピペ)してお使いいただいても構いませんが、以下の件にご留意ください。

使用については自己責任でお願いします

コードの確認は私の管理するサイト、またはテスト環境で問題が起こらなかったものですので、お使いの環境での動作等を保証するものではありません。

万が一このコードを使用してサイトに重篤なトラブルが生じても当サイト、当サイト管理者は一切責任を負いません

コードの変換エラーなどにより動作しない場合、更新エラーが出る場合があります

コードをそのままコピーしても問題なく使えるよう文字列変換を行った上で掲載しておりますが、希に変換できていない場合があり、コードエラーとなることがあります

その場合には以下の方法で修正を行ってみてください

  1. コードの中に全角の記号が入っていませんか?
  2. 半角にすることで解消できます
  3. コードの中に全角の空白(スペース)がありませんか?
  4. 半角にすることで解決できます
  5. 上のようなことがないのに更新できない
  6. 特に日本語での文字列が入っている場合には全角での文字列があるということでエラーになる場合があります。エラーとして返される行の先頭に空白がある場合には空白をなくすことできちんと認識され更新されるようになることが多いです。

コードを転載する場合には

ご自身のサイトで当ページのコードを転載される場合には必ず当ページへのリンクを入れていただきますようお願いいたします

です。このコード内の「累計」や「views」を適当な文字に修正すればそのまま使えます。

日付や期間を指定するには

コードの途中にある
wpp_get_views( get_the_ID())が累計値(プラグイン導入後からの累計)になるのですが、ここに日付期間の絞り込みを足せば任意の期間で表示が可能になります。つまり「,期間」を追加するだけです。
wpp_get_views( get_the_ID(),期間)
この期間は
1日(24時間)・・・daily
7日・・・weekly
30日・・・monthly
365日・・・yearly
をパラメーター値として指定します。1日に設定しているのに表示がおかしい・・・などと思うかもしれませんが、このプラグイン(ほとんどのプラグインがこういう形態ですが)の1日は過去24時間ということになっていますからここは仕方ないと思います。あくまでも目安として表示する分には問題ありませんし、閲覧する方から見てもどの期間なのか?というのはやっぱり目安ですから問題はないと思います。

コードの挿入方法

投稿テンプレートの中に記載する場合は「single.php」、固定ページの場合は「page.php」へコードを挿入します。
「外観」→「テーマ編集」からカスタマイズするテーマを選び、「single.php」または「page.php」を開くと、内容を表示するためのループ部分があります(下記のコード参照)。

の中の解説にもありますが、ループ内で使用しないと不具合が出ますので注意しましょう。

<?php
  if (have_posts()) : // WordPress ループ
    while (have_posts()) : the_post(); // 繰り返し処理開始 ?>
----------①-----------
    <?php
    endwhile; // 繰り返し処理終了
  else : // ここから記事が見つからなかった場合の処理 ?>
【注意】コードをコピーして使用する前に必ずお読みください

この記事内にコードが記載されている場合、コードはそのままコピー(いわゆるコピペ)してお使いいただいても構いませんが、以下の件にご留意ください。

使用については自己責任でお願いします

コードの確認は私の管理するサイト、またはテスト環境で問題が起こらなかったものですので、お使いの環境での動作等を保証するものではありません。

万が一このコードを使用してサイトに重篤なトラブルが生じても当サイト、当サイト管理者は一切責任を負いません

コードの変換エラーなどにより動作しない場合、更新エラーが出る場合があります

コードをそのままコピーしても問題なく使えるよう文字列変換を行った上で掲載しておりますが、希に変換できていない場合があり、コードエラーとなることがあります

その場合には以下の方法で修正を行ってみてください

  1. コードの中に全角の記号が入っていませんか?
  2. 半角にすることで解消できます
  3. コードの中に全角の空白(スペース)がありませんか?
  4. 半角にすることで解決できます
  5. 上のようなことがないのに更新できない
  6. 特に日本語での文字列が入っている場合には全角での文字列があるということでエラーになる場合があります。エラーとして返される行の先頭に空白がある場合には空白をなくすことできちんと認識され更新されるようになることが多いです。

コードを転載する場合には

ご自身のサイトで当ページのコードを転載される場合には必ず当ページへのリンクを入れていただきますようお願いいたします

①の部分にさまざまなコンテンツが書いてありますので表示したい場所にコードを挿入します。
※使っているテーマによってはより細分化するために「single.php」「page.php」内で別のphpファイルを読み込むようになっていて、その中にループがある場合もあります。

「Simplicity」の例

当サイトで使用している「Simplicity」テーマでは、投稿テンプレートはまさに※印の内容になっており、single.phpから呼び出される「entry-body」の中にループが存在します。固定ページテンプレート(page.php)はそのままファイルの中にループがあります。

ループの中身は固定ページテンプレート、投稿テンプレートとも同様です。当サイトのように、タイトル下の帯部分にview数を表示するには、

<p class="post-meta">
          <?php get_template_part('datetime') //投稿日と更新日?>
----------②----------
          <?php get_template_part('edit-link') //編集リンク?>
          <?php wlw_edit_post_link('WLWで編集', '<span class="wlw-edit"><span class="fa fa-pencil-square-o fa-fw"></span>', '</span>'); ?>
        </p>
【注意】コードをコピーして使用する前に必ずお読みください

この記事内にコードが記載されている場合、コードはそのままコピー(いわゆるコピペ)してお使いいただいても構いませんが、以下の件にご留意ください。

使用については自己責任でお願いします

コードの確認は私の管理するサイト、またはテスト環境で問題が起こらなかったものですので、お使いの環境での動作等を保証するものではありません。

万が一このコードを使用してサイトに重篤なトラブルが生じても当サイト、当サイト管理者は一切責任を負いません

コードの変換エラーなどにより動作しない場合、更新エラーが出る場合があります

コードをそのままコピーしても問題なく使えるよう文字列変換を行った上で掲載しておりますが、希に変換できていない場合があり、コードエラーとなることがあります

その場合には以下の方法で修正を行ってみてください

  1. コードの中に全角の記号が入っていませんか?
  2. 半角にすることで解消できます
  3. コードの中に全角の空白(スペース)がありませんか?
  4. 半角にすることで解決できます
  5. 上のようなことがないのに更新できない
  6. 特に日本語での文字列が入っている場合には全角での文字列があるということでエラーになる場合があります。エラーとして返される行の先頭に空白がある場合には空白をなくすことできちんと認識され更新されるようになることが多いです。

コードを転載する場合には

ご自身のサイトで当ページのコードを転載される場合には必ず当ページへのリンクを入れていただきますようお願いいたします

の中の②へコードを挿入します。もちろん別の場所(記事の先頭や直後、タイトルの下など自由自在)に設置することも可能です。

バックグラウンドでも閲覧数(View数)を表示する方法がある

ここまでは閲覧ページ側(フロントエンド)でのView数表示方法を紹介しましたが、ここからは少し脱線して、管理画面側(バックエンド)の投稿一覧へ同様の表示を行う方法がありますのでついでに紹介します。

//管理画面での記事一覧カラムカスタマイズ
//WordpressPoplarPostの月間ビューカウントを表示する
function admin_posts_columns($columns) {
    $columns['subtitle'] = "月ビュー";
    return $columns;
}
function add_admincolumn($column_name, $post_id) {
    if( $column_name == 'subtitle' ) {
        echo wpp_get_views($post_id, 'monthly', true);
    }
}
if ( function_exists('wpp_get_views') ) {
    add_filter( 'manage_posts_columns', 'admin_posts_columns' );
    add_action( 'manage_posts_custom_column', 'add_admincolumn', 10, 2 );
}
【注意】コードをコピーして使用する前に必ずお読みください

この記事内にコードが記載されている場合、コードはそのままコピー(いわゆるコピペ)してお使いいただいても構いませんが、以下の件にご留意ください。

使用については自己責任でお願いします

コードの確認は私の管理するサイト、またはテスト環境で問題が起こらなかったものですので、お使いの環境での動作等を保証するものではありません。

万が一このコードを使用してサイトに重篤なトラブルが生じても当サイト、当サイト管理者は一切責任を負いません

コードの変換エラーなどにより動作しない場合、更新エラーが出る場合があります

コードをそのままコピーしても問題なく使えるよう文字列変換を行った上で掲載しておりますが、希に変換できていない場合があり、コードエラーとなることがあります

その場合には以下の方法で修正を行ってみてください

  1. コードの中に全角の記号が入っていませんか?
  2. 半角にすることで解消できます
  3. コードの中に全角の空白(スペース)がありませんか?
  4. 半角にすることで解決できます
  5. 上のようなことがないのに更新できない
  6. 特に日本語での文字列が入っている場合には全角での文字列があるということでエラーになる場合があります。エラーとして返される行の先頭に空白がある場合には空白をなくすことできちんと認識され更新されるようになることが多いです。

コードを転載する場合には

ご自身のサイトで当ページのコードを転載される場合には必ず当ページへのリンクを入れていただきますようお願いいたします

上記コードをfunctions.phpへコピペすれば、投稿一覧に月間(30日間)のビュー数が表示されるようになります。

1つ注意点はテーマのキモであるfunctions.phpの中にコードを追加するため不具合があると管理画面や閲覧画面等すべての画面が表示不能になってしまうことです。バックアップを取るなどして万が一の場合にも対処できるようにしておいてください。もしもエラーが出て画面が真っ白になった場合には

を参照ください。

これで、閲覧画面でも、バックエンドでもビュー数が表示されるので、どの記事や固定ページがよく読まれているのかが一目瞭然になります。更新すべき投稿や追加すべき記事ジャンルも見つけやすくなりますね。

「Wordpress Popular Posts」プラグインについては

https://www.momosiri.info/wppi/wordpress-plugin-wppopularpost/

を参照ください

いつでもご相談・サイトカスタマイズの依頼を受け付けています

Wordpressのカスタマイズ、不具合解消のご相談はすべてココナラのダイレクトメッセージからお受けしております。まずはこちらのバナーからお気軽にお問い合わせください。

※一度もココナラを使ったことがない方はココナラへの無料登録が必要です。こちらから登録後、上のリンクをクリックする、またはココナラトップページから「ひまあーと」を検索してお問い合わせください。


【スポンサーリンク】