このエントリーをはてなブックマークに追加

会員向けページを作成する場合、User Access Manager などのプラグインを使うのが簡単だが、コンテンツの表示部分にカスタムフィールドの値を含んでいる場合や、何らかの理由でプラグインを使いたくない場合はテンプレートを

<?php if (post_custom('member') && is_user_logged_in() || post_custom('open')): ?><?php the_content(); ?>あるいはカスタムフィールドの表示<?php else: ?><p>会員のみ閲覧できます。</p><?php endif; ?>

のように、カスタムフィールドの値で制限する。
会員ページ:member、一般公開:open のフィールド名でそれぞれtrue の値をつけておく。

カテゴリーに制限をかける場合は投稿時に設定忘れということはないので良いが、投稿毎に設定する場合はプラグインを使ってフィールド(ラジオボタンなど)「member」を必須項目として、yes かno を選択し

<?php if(get_post_meta($post->ID,'member',true) == 'yes'): ?><?php if (is_user_logged_in()): ?><?php the_content(); ?>あるいはカスタムフィールドの表示<?php else: ?><p>会員のみ閲覧できます。</p><?php endif; ?><?php else: ?><?php the_content(); ?><?php endif; ?>

としておくと、設定漏れがなくて良いかと。

*post_custom の部分はプラグインによって書き方が違う場合があります。

2011.01.07 投稿 2015.04.05 更新

新しい情報を追記している場合はありますが、古い情報の修正はしていません。投稿日・文中の日付を参照してください。

Recent Articles