WordPressで「最近閲覧した記事一覧」を作る手順(ブログ回遊率アップ)

WordPressで「最近閲覧した記事一覧」を作る手順(ブログ回遊率アップ) WordPress

本ページはアフィリエイトプログラムを利用しています

ページビューアップに必要な対策として大事なのがブログ内の回遊率アップ
人気記事や関連記事の設置がメジャーですが、今回紹介するのはWordPressでプラグインを使わず「最近閲覧した記事一覧」を作る手順です。
特にアフィリエイト系などの商品を扱うブログには効果的だと思います。

回遊率アップに効果的な「最近閲覧した記事一覧」とは

WordPressで「最近閲覧した記事一覧」を作る手順(ブログ回遊率アップ)

EC系サイトなんかを閲覧していると見かけることの多い「最近閲覧した記事一覧」。

こんな風に、ユーザが閲覧したページ(商品)を一覧にして表示します。「さっき見た商品を買いたいけどどのページだったっけ?」といった時にすぐにページにアクセスできるようになります。
http://monoomoi.net/
上記別ブログの記事ページに実際に設置してありますよ。

WordPressでPHPを使って「最近閲覧した記事一覧」を実装する方法

「最近閲覧した記事一覧」を実装するのはさほど難しくありません。

  1. 閲覧している記事のIDを取得
  2. 取得した記事IDをセッションで保管
  3. 保管した記事IDを使い、その記事のパーマリンクやサムネイルを取得して表示

といった具合になります。

閲覧している記事のIDを取得

まず、閲覧している記事のIDを取得します。
single.phpなど、記事ページの出力をしているphpで

$postid = get_the_ID();

としてIDを取得します。ここでは$postidという変数にIDが格納されます。

取得した記事IDをセッションで保管

上記で取得したIDをセッションで保管します。複数表示させる場合は配列に格納します。

if ($_SESSION['watched_page']) {
  $arr = $_SESSION['watched_page'];
  array_push($arr, $postid);
  $_SESSION['watched_page'] = array_reverse(array_values(array_unique($arr)));
}
else {
  $_SESSION['watched_page'] = array($postid);
}

ここでは$_SESSION[‘watched_page’]に格納しています。
$_SESSION[‘watched_page’]にデータがなければそのまま格納、データがある場合な配列にIDを加えた上で、array_uniqueで重複するIDを削除し、array_valuesでキーを振り直し、最新のものから表示するためにarray_reverseでキーの順を逆に変更しています。
記事IDの取得と合わせて下記のようなコードとなります。

<?php
  $postid = get_the_ID();
  session_start();
  if ($_SESSION['watched_page']) {
    $arr = $_SESSION['watched_page'];
    array_push($arr, $postid);
    $_SESSION['watched_page'] = array_reverse(array_values(array_unique($arr)));
  }
  else {
    $_SESSION['watched_page'] = array($postid);
  }
?>

保管した記事IDを使い、その記事のパーマリンクやサムネイルを取得して表示

最後に、「最近閲覧した記事一覧」を表示したい箇所に下記のように入力します。

<?php if (isset($_SESSION['watched_page'])): ?>
  <div id="watched_page">
    <h3>最近チェックしたアイテム</h3>
    <?php $i = 0; foreach ($_SESSION['watched_page'] as $wp): ?>
      <?php if ($i >= 5): ?>
      <?php break; ?>
      <?php else: ?>
      <a href="<?php echo get_permalink($wp); ?>">
        <?php echo get_the_post_thumbnail($wp, array(210, 210)); ?>
      </a>
      <?php $i++; ?>
      <?php endif; ?>
    <?php endforeach; ?>
  </div>
<? endif; ?>
  • get_permalink(記事ID)
  • get_the_post_thumbnail(記事ID,サイズ)

とすることで、それぞれ記事のパーマリンクとサムネイルを取得できます。get_the_title(記事ID)としてタイトルを取得してもいいでしょう。
上記コードでは、5つまで表示するようにしてあります。

まとめ

ブログ内の回遊率アップにはブログの内容に合わせて様々な施策が必要です。
今回紹介した「最近閲覧した記事一覧」もその施策のひとつ。サイトやブログに合う機能であれば、ぜひ試してみてください。

\楽天ポイント4倍セール!/
楽天市場
楽天Kobo電子書籍ストア
¥2,200 (2024/11/18 09:47時点 | 楽天市場調べ)
\楽天ポイント4倍セール!/
楽天市場

コメント

タイトルとURLをコピーしました