2026年7月28日

2026年7月28日

WordPressでゲストユーザーに一部コンテンツを見せる方法

はじめに

ここでは、ゲストユーザー(未登録の訪問者)が特定のページや投稿を閲覧できるようにするための設定方法について説明します。このような機能は、Webサイトのユーザーエクスペリエンスを向上させるだけでなく、コンテンツの露出範囲を制御することも可能です。

症状・背景

このテーマが必要になる主な場面:

  • サイト訪問者が特定の記事やページを見ることができるようにする場合
  • ブログの一部コンテンツを非会員向けに開放する必要がある場合
  • 有料会員限定コンテンツと無料ゲスト向けコンテンツを分けたい場合

手順・設定方法

ステップ1: プラグインの導入

# WordPressダッシュボードからプラグインページを開く。
# 「アクセス制御」カテゴリにある「Memberships」というプラグインを探す。

# プラグインを有効化する。

ステップ2: ゲストユーザー向けコンテンツの設定

# 「Memberships」プラグインのダッシュボードから、新しいメンバーシップを作成する。
# メンバーシップ名に「ゲスト」と入力し、保存ボタンを押す。

# 新たに作成した「ゲスト」メンバーシップに対して、閲覧可能ページや投稿を選択する。

ステップ3: カスタムフィルタの追加

# functions.phpファイルを開き、以下のようにカスタムフィルタを追加する。

add_filter('the_content', 'custom_guest_view');
function custom_guest_view($content) {
    if (is_user_logged_in()) return $content;
    global $post;
    if ($post->ID == 12345 || $post->ID == 67890) { // 特定の投稿IDを指定
        return 'この記事はゲストユーザーも閲覧可能です。';
    }
    return 'ログインしてから閲覧してください。';
}

# 上記コードにより、特定の投稿やページに対してゲストユーザー向けにカスタムメッセージを表示できるようになる。

ステップ4: テーマ機能の利用

# カスタマイズしたいテーマの関数ファイル(functions.php)を開き、以下のように追加する。

function restrict_content($atts) {
    extract(shortcode_atts(array(
        'content_id' => 0,
        ), $atts));
    
    if (is_user_logged_in()) return;
    
    echo '<div class="restricted-content">';
    the_field('custom_content', $content_id); // ACFでカスタムフィールドを使用
    echo '</div>';
}

add_shortcode('restrict', 'restrict_content');

# 上記コードにより、ショートコード「[restrict content_id="123"]」を用いて特定のコンテンツをゲストユーザーに制限できるようになる。

注意事項

  • プラグインが利用できる最新バージョンを使用する
  • カスタムフィルタやショートコードは特定テーマやプラグインとの互換性を確認すること
  • 安全な開発環境でテストを行うこと
  • アクセス権限の変更はサイトのセキュリティに影響を与える可能性があるため、慎重に行うこと

まとめ

1. プラグイン利用: ゲストユーザー向けコンテンツ管理を効率化するプラグインを使用する。

2. カスタムフィルタ: 特定ページや投稿に対してゲストユーザー向けメッセージを表示する。

3. ショートコード: コンテンツ制限機能を簡単に実装できるショートコードを利用する。

4. テストと確認: テーマの互換性やセキュリティを考慮して、変更点を慎重にテストすること。

5. ドキュメント参照: WordPress公式ドキュメントやプラグインマニュアルを参考にして設定を行う。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ