素晴らしいブログ記事をクリックしたのに、後で見つけるのに苦労したことはありませんか?読者もあなたのWordPressサイトで同じような経験をしているかもしれません。
訪問者はサイトを閲覧する際、複数の投稿を飛び回ることがよくあります。閲覧し、ざっと読み、時には完了する前に離脱します。
役立つ、または興味深いコンテンツに簡単に戻ることができない場合、彼らを永久に失う可能性があります。
だからこそ、最近閲覧した投稿のリストを表示することは大きな違いを生みます。読者は中断したところから再開したり、気に入ったものをさらに探したり、サイトに長く滞在したりするのに役立ちます。
最も良い点は?設定が簡単です。
このガイドでは、WordPressサイトで最後に訪問した投稿を表示し、サイトの体験を向上させる方法をご紹介します。

WordPressで最後に訪問した投稿を表示する理由
WordPressで最後に訪問した投稿を表示することは、訪問者が中断したところから再開するのに役立ち、ブラウジングを容易にし、サイトへのエンゲージメントを長く保ちます。また、見逃した可能性のある関連コンテンツを強調し、よりパーソナライズされたエクスペリエンスを作成することで、再訪問を促すこともできます。
Amazonのようなサイトが、ログインしていなくても最近見た商品を提案してくれることに気づいたことはありませんか?その提案は、ブラウザのCookieのおかげで、ログインしていなくても表示され続けます。
それは単なる利便性ではありません。ユーザーエンゲージメントを維持し、すでに興味を示したコンテンツにユーザーを戻すためのスマートな方法です。
そして、その同じ経験をWordPressブログにも活かすことができます。
訪問者は、ブログ記事をざっと読んだり、チュートリアルをスキャンしたり、製品レビューをチェックしたりするために、1回のセッション中に複数のページにアクセスすることがよくあります。しかし、後で戻ってきたときに、どこまで読んだか、またはどの投稿に興味を持ったかを忘れてしまうのは簡単です。
最近閲覧した投稿を表示することで、読者は便利または楽しいと感じたコンテンツに簡単に戻ることができます。🙌

これはユーザーエクスペリエンスを向上させ、訪問者がより長く滞在したり、購読や購入などの行動を起こしたりすることを奨励します。
全体として、これは特にニッチブログやeコマースストアのようなコンテンツが豊富なサイトにとって、大きな影響を与える可能性のある小さなディテールです。
それでは、WordPressでユーザーが最後に閲覧した投稿のパーソナライズされたリストを表示する方法をご紹介します。
ここでは、カバーするすべてのトピックの簡単な概要を説明します。
- WordPressで最後に訪問した投稿を表示する方法(クラシックテーマ)
- カスタムコードスニペットを使用して最後に訪問した投稿を表示する方法(どのテーマでも動作します)
- ボーナスのヒント:WordPressサイトがCookieを使用していることを開示する
- よくある質問:WordPressで最後に訪問した投稿を表示する
- UXを向上させるためのWordPress投稿管理に関するその他のガイド
WordPressで最後に閲覧した投稿を表示する方法
この方法では、設定が簡単な無料プラグインを使用します。これは、ウィジェットをサポートするクラシックテーマを使用している場合に適しています。
まず、Last Viewed Posts プラグインをインストールして有効化する必要があります。ヘルプが必要な場合は、WordPress プラグインのインストール方法に関するステップバイステップガイドをご覧ください。
プラグインを有効化した後、外観 » ウィジェットに移動します。次に、画面上部にあるプラス記号「+」アイコンをクリックして新しいウィジェットを追加し、リストから「Last Viewed Posts Redo」を検索します。
それが完了したら、「Last Viewed Posts Redo」ウィジェットをサイドバーまたは利用可能なウィジェット対応エリアにドラッグするだけです。

これで完了です!画面上部の「更新」ボタンをクリックすると、最後に訪問した投稿のリストを確認するためにウェブサイトにアクセスできます。
「最後に表示された投稿」リストは、プラグインをインストールした後にブログで投稿を閲覧した場合にのみ表示されることに注意してください。これは、プラグインが

カスタムコードスニペットを使用して最後に訪問した投稿を表示する方法
最新のブロックテーマを使用している場合、ウィジェットの方法は機能しません。より良い方法は、ショートコードを作成するカスタムコードスニペットを追加することです。これにより、サイトのどこにでも配置できます。
これを行う最も簡単で安全な方法は、最高のコードスニペットWordPressプラグインであるWPCodeプラグインを使用することです。これにより、リスクの高いテーマのfunctions.phpファイルを編集することなくスニペットを追加できます。
当社のパートナーブランドの中には、WPCodeを使用してカスタムコードスニペットを追加および管理している企業があります。これは非常にうまく機能しており、WPCodeの完全なレビューでその機能を確認できます。

まず、無料のWPCodeプラグインをインストールして有効化する必要があります。詳細については、WordPressプラグインのインストール方法に関するガイドをご覧ください。
📝 注記: テーマファイルを編集せずにこのカスタムスニペットを追加するには、WPCodeの無料版を使用できます。とはいえ、WPCode Proを使用すると、コードの改訂履歴、条件付きロジック、コードの実行タイミングのスケジュール設定などの高度な機能にアクセスできます。
有効化したら、WordPressダッシュボードからCode Snippets » + Add Snippetに移動します。
次に、「カスタムコードを追加(新規スニペット)」を選択します。

表示されるポップアップで、コードの種類を選択する必要があります。
必ず「PHPスニペット」に設定してください。

ここで WPCode エディターに移動します。
ここから、スニペットに「最後に訪問した投稿ショートコード」のようなタイトルを付けることができます。
次に、以下のコードを「コードプレビュー」ボックスにコピー&ペーストできます。
// Function to track recently viewed posts and store them in a cookie
function wpb_track_last_viewed_posts() {
if ( ! is_single() ) {
return;
}
$post_id = get_the_ID();
$cookie_name = 'wpb_last_viewed_posts';
$viewed_posts = [];
if ( isset( $_COOKIE[ $cookie_name ] ) ) {
$decoded_posts = json_decode( stripslashes( $_COOKIE[ $cookie_name ] ), true );
if ( is_array( $decoded_posts ) ) {
$viewed_posts = $decoded_posts;
}
}
array_unshift( $viewed_posts, $post_id );
$viewed_posts = array_unique( $viewed_posts );
$viewed_posts = array_slice( $viewed_posts, 0, 5 );
setcookie(
$cookie_name,
wp_json_encode( $viewed_posts ),
[
'expires' => time() + ( 30 * DAY_IN_SECONDS ),
'path' => COOKIEPATH,
'domain' => COOKIE_DOMAIN,
'secure' => is_ssl(),
'httponly' => false,
'samesite' => 'Lax',
]
);
}
add_action( 'wp', 'wpb_track_last_viewed_posts' );
// Shortcode to display last viewed posts
function wpb_display_last_viewed_posts_shortcode( $atts ) {
$cookie_name = 'wpb_last_viewed_posts';
if ( ! isset( $_COOKIE[ $cookie_name ] ) ) {
return '';
}
$viewed_posts_ids = json_decode( stripslashes( $_COOKIE[ $cookie_name ] ), true );
if ( empty( $viewed_posts_ids ) || ! is_array( $viewed_posts_ids ) ) {
return '';
}
$args = [
'post_type' => 'post',
'post__in' => $viewed_posts_ids,
'posts_per_page' => 5,
'orderby' => 'post__in',
];
$query = new WP_Query( $args );
ob_start();
if ( $query->have_posts() ) {
echo '<h4 class="wp-block-heading">Recently Viewed Posts</h4>';
echo '<ul class="wpb-last-viewed-posts">';
while ( $query->have_posts() ) {
$query->the_post();
echo '<li><a href="' . esc_url( get_permalink() ) . '">' . esc_html( get_the_title() ) . '</a></li>';
}
echo '</ul>';
}
wp_reset_postdata();
return ob_get_clean();
}
add_shortcode( 'last_viewed_posts', 'wpb_display_last_viewed_posts_shortcode' );
それが終わったら、一番上のスイッチを「Active」に切り替えてください。
次に、「スニペットを保存」ボタンをクリックします。

これで、リストを好きな場所に表示できるようになりました。
外観 » エディターに移動して、フルサイトエディターにアクセスするだけです。

次の画面で、リストを表示したい場所に「ショートコード」ブロックを追加できます。
例えば、ここではホームページに追加します。

コンテンツエディターで、「+」ボタンをクリックし、ショートコードブログを選択して、ブロックに次のショートコードを入力するだけです。
[last_viewed_posts]

テーマテンプレートを更新するには、「保存」をクリックすることを忘れないでください。
これで、訪問者がサイトを閲覧すると、最近表示した投稿がその場所に表示されます。

🧑💻 プロのヒント: WordPress ブログの訪問者は、最新の情報や人気の投稿を探して、最新情報を入手したり、おすすめのコンテンツを見つけたりする場合があります。これらのコンテンツを見つけやすくすることで、ユーザーエクスペリエンスが向上し、より長く滞在して他のページを探索するよう促すことができます。
このトピックの詳細については、最近の投稿を表示する方法または最も人気のある投稿を表示する方法に関するガイドをご覧ください。
ボーナスのヒント:WordPressサイトがCookieを使用していることを開示する
Last Viewed Postsプラグインは、あなたのウェブサイト上の各ユーザーの最近閲覧した投稿のリストを保存しません。
その代わりに、投稿のリストは各訪問者のウェブブラウザに保存されるため、ウェブサイトのパフォーマンスに影響を与えることはありません。
ただし、このプラグインはCookieを使用するため、GDPRおよびその他のプライバシー規制を遵守するために、ユーザーの同意を得る必要がある場合があります。
WPBeginnerで行っているように、WordPressサイトでカスタムクッキー同意ポップアップを簡単に表示するには、WPConsentプラグインの使用をお勧めします。
WPConsentは、訪問者が許可を与えるまで、すべてのトラッキングスクリプトとCookieがデータを収集するのを自動的にブロックします。

ユーザーがブログからのCookieを許可しないことを選択した場合、最後に閲覧した投稿のリストは表示されません。詳細については、WPConsentの完全レビューをご覧ください。
📝 注: WPConsentの無料版から始めることができます。ただし、プロ版にはより高度な機能が付属しています。
手順については、GDPR/CCPAのためにWordPressにCookieポップアップを追加する方法に関するガイドに従ってください。WordPressでGDPR/CCPAのためにCookieポップアップを追加する方法
よくある質問:WordPressで最後に訪問した投稿を表示する
長年にわたり、多くの読者から「最後に訪問した投稿」機能の追加について質問を受けてきました。ここでは、最も一般的な質問に対する回答を紹介します。
「最後に訪問した」リストには、いくつの投稿が表示されますか?
デフォルトでは、プラグインは最後に訪問した記事5件を表示します。ウィジェットの設定でこの数を簡単に変更して、より多くの投稿または少ない投稿を表示できます。
この機能は、ログインしていないユーザーにも機能しますか?
はい、ログインしているかどうかにかかわらず、すべての訪問者に対して機能します。情報はブラウザのCookieに保存されるため、サイトへの訪問者の最近の履歴を追跡します。
最後に訪問した投稿を表示すると、ウェブサイトの速度が低下しますか?
いいえ、そうはなりません。このプラグインは、WordPressデータベースではなく、ユーザーのブラウザにCookieを使用して閲覧履歴を保存します。これは、WordPressホスティングサーバーに余分な負荷をかけないことを意味します。
ユーザーがブラウザのCookieをクリアした場合、どうなりますか?
訪問者がブラウザのCookieをクリアすると、サイトでの閲覧履歴は消去されます。「最後に閲覧した投稿」リストは、記事の閲覧を再開するまで空になります。
UXを向上させるためのWordPress投稿管理に関するその他のガイド
このチュートリアルで、WordPressでユーザーに最後に訪問した投稿を表示する方法を学べたことを願っています。
次に、以下についても知っておくと良いでしょう。
- WordPressサイドバーに注目の投稿を追加する方法
- 優れたブログ記事の書き方(構成+例)
- アフィリエイト開示を各ブログ投稿に自動的に追加する方法
- WordPressで複数の投稿サムネイル/アイキャッチ画像を追加する方法
- WordPress RSSフィードに投稿が表示されるのを遅延させる方法
- WordPress向けの最高の関連記事プラグイン
この記事が気に入ったら、WordPressのビデオチュートリアルについては、YouTubeチャンネルを購読してください。 TwitterやFacebookでもフォローできます。

kzain
追加したいアイデアの1つは、これを「関連記事」ウィジェットと組み合わせることです。ユーザーに最後に訪問した投稿と類似のコンテンツを表示することで、サイトに長く滞在し、さらに多くのコンテンツを探索するように促すことができます。
Paolo
こんにちは、念のため確認ですが、Cookieを使用するということは、ユーザーがブラウザを変更した場合、以前に読んだ投稿のリストを見つけることができないということですか?それで合っていますか?
WPBeginnerサポート
現時点ではその通りです。
管理者
Suyash Ekhande
最近見た投稿をカルーセル形式で表示する新しいプラグインはありますか?
Jordan Smith
このプラグインはまだメンテナンスされていますか?この機能と全く同じものを探しています。ありがとうございます!
マシュー・ダッリ
これをウィジェットではなく、投稿タイトルの横に表示する方法はありますか?
kalico
これは素晴らしい小さな宝石です。これを他の(カスタム)投稿タイプ、またはマルチサイトネットワーク全体で履歴を表示するようにする方法はありますか?
Brian
タイトルだけでなく、投稿全体(つまりget_post)を表示する方法はありますか?コードと、プラグインコードのどこに配置すればよいか教えていただけますか?よろしくお願いします!
tony roberts
プラグインをインストールしましたが、ウィジェットのインストールに問題があります。外観 > ウィジェット > 最後に閲覧した投稿をクリック > プライマリサイドバーをクリック > ウィジェットを追加、何も起こりません。最後に閲覧した投稿をドラッグアンドドロップしても、何も起こりません。
何か間違っている点に気づいたことはありますか?
Tony
RA
このプラグインにショートコードはありますか?投稿内に挿入したいのですが。
WPBeginnerサポート
現在、ショートコードはありません。しかし、WordPressウィジェットを投稿やページコンテンツに追加する方法に関するチュートリアルを試すことができます。
管理者
frebro
これはローカルホストではうまく機能しますが、本番サーバーでは「ヘッダー情報を変更できません – ヘッダーは既に送信されています」というエラーが発生します。Cookieを設定する際に、コンテンツが出力され始めているようです。
RootsテーマとWordpress 3.6を使用しています。これを解決する方法について何か提案はありますか?
musa garip
こんにちは、このプラグインは素晴らしいです。質問があります。
画像を追加できますか(アイキャッチ画像)
ありがとうございます
編集スタッフ
はい、ただしプラグインファイルを編集する必要があります。
管理者
David Rwell
この素敵な小さなプラグインをありがとうございます。サイトのパーソナライゼーション体験を大いに向上させます。
David.
Jacopo Tarantino
プラグインはGitHubにありますか?貢献したいです。
編集スタッフ
No it is not on Github yet. Please get in touch via the contact form, so we can communicate further
管理者
Jacopo Tarantino
その変数の値を変更するために、独自のテーマやプラグインで何らかのオーバーライドを使用する方が良いのではないでしょうか?プラグインを直接編集すると、プラグインを更新した際に(常に更新すべきです!)その変更は失われます。プラグインがアクティブ化された直後にフックして、おそらくグローバル変数であるものに新しい値を割り当てるのは、それほど難しくないはずです。
編集スタッフ
Agreed. That is in the list of things to add to that plugin when we create a settings page
管理者