WordPressで最後に訪問した投稿を表示する方法(初心者向けガイド)

素晴らしいブログ記事をクリックしたのに、後で見つけるのに苦労したことはありませんか?読者もあなたのWordPressサイトで同じような経験をしているかもしれません。

訪問者はサイトを閲覧する際、複数の投稿を飛び回ることがよくあります。閲覧し、ざっと読み、時には完了する前に離脱します。

役立つ、または興味深いコンテンツに簡単に戻ることができない場合、彼らを永久に失う可能性があります。

だからこそ、最近閲覧した投稿のリストを表示することは大きな違いを生みます。読者は中断したところから再開したり、気に入ったものをさらに探したり、サイトに長く滞在したりするのに役立ちます。

最も良い点は?設定が簡単です。

このガイドでは、WordPressサイトで最後に訪問した投稿を表示し、サイトの体験を向上させる方法をご紹介します。

WordPressでユーザーに最後に訪問した投稿を表示する方法

WordPressで最後に訪問した投稿を表示する理由

WordPressで最後に訪問した投稿を表示することは、訪問者が中断したところから再開するのに役立ち、ブラウジングを容易にし、サイトへのエンゲージメントを長く保ちます。また、見逃した可能性のある関連コンテンツを強調し、よりパーソナライズされたエクスペリエンスを作成することで、再訪問を促すこともできます。

Amazonのようなサイトが、ログインしていなくても最近見た商品を提案してくれることに気づいたことはありませんか?その提案は、ブラウザのCookieのおかげで、ログインしていなくても表示され続けます。

それは単なる利便性ではありません。ユーザーエンゲージメントを維持し、すでに興味を示したコンテンツにユーザーを戻すためのスマートな方法です。

そして、その同じ経験をWordPressブログにも活かすことができます。

訪問者は、ブログ記事をざっと読んだり、チュートリアルをスキャンしたり、製品レビューをチェックしたりするために、1回のセッション中に複数のページにアクセスすることがよくあります。しかし、後で戻ってきたときに、どこまで読んだか、またはどの投稿に興味を持ったかを忘れてしまうのは簡単です。

最近閲覧した投稿を表示することで、読者は便利または楽しいと感じたコンテンツに簡単に戻ることができます。🙌

ライブサイトでの最終閲覧投稿

これはユーザーエクスペリエンスを向上させ、訪問者がより長く滞在したり、購読や購入などの行動を起こしたりすることを奨励します。

全体として、これは特にニッチブログやeコマースストアのようなコンテンツが豊富なサイトにとって、大きな影響を与える可能性のある小さなディテールです。

それでは、WordPressでユーザーが最後に閲覧した投稿のパーソナライズされたリストを表示する方法をご紹介します。

ここでは、カバーするすべてのトピックの簡単な概要を説明します。

WordPressで最後に閲覧した投稿を表示する方法

この方法では、設定が簡単な無料プラグインを使用します。これは、ウィジェットをサポートするクラシックテーマを使用している場合に適しています。

まず、Last Viewed Posts プラグインをインストールして有効化する必要があります。ヘルプが必要な場合は、WordPress プラグインのインストール方法に関するステップバイステップガイドをご覧ください。

プラグインを有効化した後、外観 » ウィジェットに移動します。次に、画面上部にあるプラス記号「+」アイコンをクリックして新しいウィジェットを追加し、リストから「Last Viewed Posts Redo」を検索します。

それが完了したら、「Last Viewed Posts Redo」ウィジェットをサイドバーまたは利用可能なウィジェット対応エリアにドラッグするだけです。

Last Viewed Posts Redoウィジェットを追加する

これで完了です!画面上部の「更新」ボタンをクリックすると、最後に訪問した投稿のリストを確認するためにウェブサイトにアクセスできます。

「最後に表示された投稿」リストは、プラグインをインストールした後にブログで投稿を閲覧した場合にのみ表示されることに注意してください。これは、プラグインがCookieを使用して閲覧ページを追跡するためです。

最後に表示した投稿のプレビュー

カスタムコードスニペットを使用して最後に訪問した投稿を表示する方法

最新のブロックテーマを使用している場合、ウィジェットの方法は機能しません。より良い方法は、ショートコードを作成するカスタムコードスニペットを追加することです。これにより、サイトのどこにでも配置できます。

これを行う最も簡単で安全な方法は、最高のコードスニペットWordPressプラグインであるWPCodeプラグインを使用することです。これにより、リスクの高いテーマのfunctions.phpファイルを編集することなくスニペットを追加できます。

当社のパートナーブランドの中には、WPCodeを使用してカスタムコードスニペットを追加および管理している企業があります。これは非常にうまく機能しており、WPCodeの完全なレビューでその機能を確認できます。

WPCodeのホームページ

まず、無料のWPCodeプラグインをインストールして有効化する必要があります。詳細については、WordPressプラグインのインストール方法に関するガイドをご覧ください。

📝 注記: テーマファイルを編集せずにこのカスタムスニペットを追加するには、WPCodeの無料版を使用できます。とはいえ、WPCode Proを使用すると、コードの改訂履歴、条件付きロジック、コードの実行タイミングのスケジュール設定などの高度な機能にアクセスできます。

有効化したら、WordPressダッシュボードからCode Snippets » + Add Snippetに移動します。

次に、「カスタムコードを追加(新規スニペット)」を選択します。

「カスタムコードを追加(新規スニペット)」オプションを選択

表示されるポップアップで、コードの種類を選択する必要があります。

必ず「PHPスニペット」に設定してください。

WPCodeで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」に切り替えてください。

次に、「スニペットを保存」ボタンをクリックします。

WPCodeでスニペットをアクティブ化して保存する

これで、リストを好きな場所に表示できるようになりました。

外観 » エディターに移動して、フルサイトエディターにアクセスするだけです。

フルサイトエディター(FSE)を使用したライブAjax検索の追加

次の画面で、リストを表示したい場所に「ショートコード」ブロックを追加できます。

例えば、ここではホームページに追加します。

FSEでのホームページ編集

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

[last_viewed_posts]
最後に表示した投稿ショートコードを追加する

テーマテンプレートを更新するには、「保存」をクリックすることを忘れないでください。

これで、訪問者がサイトを閲覧すると、最近表示した投稿がその場所に表示されます。

ライブサイトでの最終閲覧投稿

🧑‍💻 プロのヒント: WordPress ブログの訪問者は、最新の情報や人気の投稿を探して、最新情報を入手したり、おすすめのコンテンツを見つけたりする場合があります。これらのコンテンツを見つけやすくすることで、ユーザーエクスペリエンスが向上し、より長く滞在して他のページを探索するよう促すことができます。

このトピックの詳細については、最近の投稿を表示する方法または最も人気のある投稿を表示する方法に関するガイドをご覧ください。

ボーナスのヒント:WordPressサイトがCookieを使用していることを開示する

Last Viewed Postsプラグインは、あなたのウェブサイト上の各ユーザーの最近閲覧した投稿のリストを保存しません。

その代わりに、投稿のリストは各訪問者のウェブブラウザに保存されるため、ウェブサイトのパフォーマンスに影響を与えることはありません。

ただし、このプラグインはCookieを使用するため、GDPRおよびその他のプライバシー規制を遵守するために、ユーザーの同意を得る必要がある場合があります。

WPBeginnerで行っているように、WordPressサイトでカスタムクッキー同意ポップアップを簡単に表示するには、WPConsentプラグインの使用をお勧めします。

WPConsentは、訪問者が許可を与えるまで、すべてのトラッキングスクリプトとCookieがデータを収集するのを自動的にブロックします。

WPConsentによるクッキーポップアップ

ユーザーがブログからのCookieを許可しないことを選択した場合、最後に閲覧した投稿のリストは表示されません。詳細については、WPConsentの完全レビューをご覧ください。

📝 注: WPConsentの無料版から始めることができます。ただし、プロ版にはより高度な機能が付属しています。

手順については、GDPR/CCPAのためにWordPressにCookieポップアップを追加する方法に関するガイドに従ってください。WordPressでGDPR/CCPAのためにCookieポップアップを追加する方法

よくある質問:WordPressで最後に訪問した投稿を表示する

長年にわたり、多くの読者から「最後に訪問した投稿」機能の追加について質問を受けてきました。ここでは、最も一般的な質問に対する回答を紹介します。

「最後に訪問した」リストには、いくつの投稿が表示されますか?

デフォルトでは、プラグインは最後に訪問した記事5件を表示します。ウィジェットの設定でこの数を簡単に変更して、より多くの投稿または少ない投稿を表示できます。

この機能は、ログインしていないユーザーにも機能しますか?

はい、ログインしているかどうかにかかわらず、すべての訪問者に対して機能します。情報はブラウザのCookieに保存されるため、サイトへの訪問者の最近の履歴を追跡します。

最後に訪問した投稿を表示すると、ウェブサイトの速度が低下しますか?

いいえ、そうはなりません。このプラグインは、WordPressデータベースではなく、ユーザーのブラウザにCookieを使用して閲覧履歴を保存します。これは、WordPressホスティングサーバーに余分な負荷をかけないことを意味します。

ユーザーがブラウザのCookieをクリアした場合、どうなりますか?

訪問者がブラウザのCookieをクリアすると、サイトでの閲覧履歴は消去されます。「最後に閲覧した投稿」リストは、記事の閲覧を再開するまで空になります。

UXを向上させるためのWordPress投稿管理に関するその他のガイド

このチュートリアルで、WordPressでユーザーに最後に訪問した投稿を表示する方法を学べたことを願っています。

次に、以下についても知っておくと良いでしょう。

この記事が気に入ったら、WordPressのビデオチュートリアルについては、YouTubeチャンネルを購読してください。 TwitterFacebookでもフォローできます。

開示:当社のコンテンツは読者によってサポートされています。これは、当社のリンクの一部をクリックすると、当社が手数料を得る可能性があることを意味します。WPBeginnerがどのように資金提供されているか、それがなぜ重要か、そしてどのように私たちをサポートできるかについては、こちらをご覧ください。当社の編集プロセスはこちらです。

究極のWordPressツールキット

無料のツールキットにアクセスしましょう - すべてのプロフェッショナルが持つべきWordPress関連の製品とリソースのコレクションです!

読者とのインタラクション

19 CommentsLeave a Reply

  1. 追加したいアイデアの1つは、これを「関連記事」ウィジェットと組み合わせることです。ユーザーに最後に訪問した投稿と類似のコンテンツを表示することで、サイトに長く滞在し、さらに多くのコンテンツを探索するように促すことができます。

  2. こんにちは、念のため確認ですが、Cookieを使用するということは、ユーザーがブラウザを変更した場合、以前に読んだ投稿のリストを見つけることができないということですか?それで合っていますか?

  3. このプラグインはまだメンテナンスされていますか?この機能と全く同じものを探しています。ありがとうございます!

  4. これをウィジェットではなく、投稿タイトルの横に表示する方法はありますか?

  5. これは素晴らしい小さな宝石です。これを他の(カスタム)投稿タイプ、またはマルチサイトネットワーク全体で履歴を表示するようにする方法はありますか?

  6. タイトルだけでなく、投稿全体(つまりget_post)を表示する方法はありますか?コードと、プラグインコードのどこに配置すればよいか教えていただけますか?よろしくお願いします!

  7. プラグインをインストールしましたが、ウィジェットのインストールに問題があります。外観 > ウィジェット > 最後に閲覧した投稿をクリック > プライマリサイドバーをクリック > ウィジェットを追加、何も起こりません。最後に閲覧した投稿をドラッグアンドドロップしても、何も起こりません。

    何か間違っている点に気づいたことはありますか?

    Tony

  8. これはローカルホストではうまく機能しますが、本番サーバーでは「ヘッダー情報を変更できません – ヘッダーは既に送信されています」というエラーが発生します。Cookieを設定する際に、コンテンツが出力され始めているようです。

    RootsテーマとWordpress 3.6を使用しています。これを解決する方法について何か提案はありますか?

  9. こんにちは、このプラグインは素晴らしいです。質問があります。

    画像を追加できますか(アイキャッチ画像)
    ありがとうございます

  10. この素敵な小さなプラグインをありがとうございます。サイトのパーソナライゼーション体験を大いに向上させます。

    David.

  11. その変数の値を変更するために、独自のテーマやプラグインで何らかのオーバーライドを使用する方が良いのではないでしょうか?プラグインを直接編集すると、プラグインを更新した際に(常に更新すべきです!)その変更は失われます。プラグインがアクティブ化された直後にフックして、おそらくグローバル変数であるものに新しい値を割り当てるのは、それほど難しくないはずです。

返信する

コメントを残していただきありがとうございます。すべてのコメントは、当社のコメントポリシーに従ってモデレーションされますので、ご了承ください。メールアドレスは公開されません。名前フィールドにキーワードを使用しないでください。個人的で有意義な会話をしましょう。