【WordPress】プラグインなしで「最近見た記事」機能を実装する方法

WordPressサイトには、ユーザーが最近閲覧した記事を表示する「最近見た記事」機能を追加することで、ユーザーエンゲージメントを向上させることができます。本記事では、プラグインを使用せずにWordPressで「最近見た記事」機能を実装する方法について解説します。

1. セッションの開始

まず、functions.phpファイルなどでセッションを開始します。

<?php
if (!session_id()) {
    session_start();
}
?>

2. 最近訪れた記事の情報を保存

各記事が表示されるページで、現在の記事のIDやタイトルなどの情報をセッションに保存します。

<?php
if (!empty(get_the_ID())) {
    $recent_posts = isset($_SESSION['recent_posts']) ? $_SESSION['recent_posts'] : array();
    $post_id = get_the_ID();
    $post_title = get_the_title();
    $recent_posts[$post_id] = $post_title;
    $_SESSION['recent_posts'] = $recent_posts;
}
?>

3. 最近訪れた記事の表示

サイドバーやフッターなどの適切な場所で、セッションに保存された最近の記事を表示します。

<?php
$recent_posts = isset($_SESSION['recent_posts']) ? $_SESSION['recent_posts'] : array();
if (!empty($recent_posts)) {
    echo '<ul>';
    foreach ($recent_posts as $post_id => $post_title) {
        echo '<li><a href="' . esc_url(get_permalink($post_id)) . '">' . esc_html($post_title) . '</a></li>';
    }
    echo '</ul>';
}
?>

これで、WordPressサイトに「最近見た記事」機能が実装されました。ただし、セッションを使用するとサーバーの負荷が増加する可能性があるため、サイトのパフォーマンスに影響を与える可能性があります。
また、キャッシュプラグインを使用している場合は、キャッシュが正しく動作しない可能性があるため、注意が必要です。

まとめ

WordPressサイトに「最近見た記事」機能を実装する方法について解説しました。
プラグインを使用せずにセッションを活用することで、ユーザーが最近閲覧した記事を表示することができます。ただし、セッションを使用する際にはサーバーの負荷やキャッシュの影響に注意する必要があります。