WP-Membersの設定
WP-Membersの設定①
管理画面WP-Membersの設定でオプション設定を
今回はデフォルト設定を公開にしておきます。
Content Blocking の項目をDo not Blockとする
この設定で、すべての記事はユーザー全員に公開されます。
WP-Membersの設定②
投稿編集画面で下記のPostsRestrictionのblockにチェックを入れる。
そうすると記事がブロックされ、ログインユーザー(会員)からしか見れなくなります。
これで非ログインユーザー(非会員)が見れなくなるのは、あくまでもthe_content()で出力される内容です。
カスタムフィールドは全て出てしまいます。
条件分岐でカスタムフィールドを出し分ける
投稿画面blockのチェックボックスの値が必要になります。
下記でチェックが入っているか入っていないかを取得しましょう。
<?php if (get_post_meta($post->ID, '_wpmem_block', true)) : ?>
上記でチェックボックスの値を取得できるので、次に条件分岐で表示・非表示にしたい内容を記述していきます。
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<?php if (is_user_logged_in()) : ?>
<!--ログインしてる時の内容-->
<?php else ://ログインしてない場合 ?>
<?php if (get_post_meta($post->ID, '_wpmem_block', true)) : ?>
<!--ログインしていなくてチェックが入っている時の内容-->
<?php else ://チェックしてない場合 ?>
<!--ログインしていなくてチェックが入っていない時の内容-->
<?php endif; ?>
<?php endwhile; ?>
<?php endif; ?>
これでチェックボックスで管理画面からカスタムフィールドも表示・非表示を設定できるようになりました!