WP-Members -カスタムフィールドを含んだ記事を管理画面から制御-

WP-Members -カスタムフィールドを含んだ記事を管理画面から制御-

WP-Membersの設定

WP-Membersの設定①

管理画面WP-Membersの設定でオプション設定を
今回はデフォルト設定を公開にしておきます。
Content Blocking の項目をDo not Blockとする
この設定で、すべての記事はユーザー全員に公開されます。

WP-Membersの設定②

投稿編集画面で下記のPostsRestrictionのblockにチェックを入れる。
そうすると記事がブロックされ、ログインユーザー(会員)からしか見れなくなります。

wpmember01

これで非ログインユーザー(非会員)が見れなくなるのは、あくまでも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; ?>

これでチェックボックスで管理画面からカスタムフィールドも表示・非表示を設定できるようになりました!

SNSシェア

WP TECH WordPress技術専門 Tips

コーポレートサイトへ

WP TECH WordPress技術専門 Tips

採用サイトへ