2017 Jan 19

自分用製作メモ(・ω・)

WordPress会員用プラグイン「WP-Members」を使用すると、デフォルト機能として、記事編集画面のチェックボックスにチェックを入れることで、簡単に会員ユーザーしか記事が閲覧できない用にすることが出来ます。
ただこの表示・非表示の範囲が「the_content()」タグしか効果がないので、カスタムフィールドを使った記事だと、カスタムフィールドのデータ吐き出し部分が隠れないという罠に対する対抗手段でございます(・ω・)

(1)まず「設定」→「WP-Members」→「WP-Membersオプション」から

「Content Blocking」 → 「ブロックしない」

(2)投稿画面に「◯◯◯制限 ◯◯◯をブロック」というチェックボックス項目が表示されるので、ここをチェックすると、アクセスにロックがかかります。

この状態でカスタムフィールドを含む記事にロックをかける場合

<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>

<?php if (is_user_logged_in()) : ?>
<!--ログインしてる時の内容-->

<?php else ://ログインしてない場合 ?>
<?php if( get_field('block') == "true"): ?>
<!--ログインしていなくてチェックが入っている時の内容-->

<?php else ://チェックしてない場合 ?>
<!--ログインしていなくてチェックが入っていない時の内容-->
<?php endif; ?>

<?php endif; ?>
<?php endwhile; ?>
<?php endif; ?>

これを表示ページテンプレート内に設置。ログアウト中は非表示になることを確認(・ω・)
どうも、投稿画面の「◯◯◯制限 ◯◯◯をブロック」のチェックボックスをいれると、「block」要素に「true」という値がはいる模様

ただ、投稿画面の「◯◯◯制限 ◯◯◯をブロック」文字情報が自分以外の人が使用する場合に、よくわからん日本語になってるので...(゜ー゜;)

この方法は封印!( つ•̀ω•́)つ・・*:・:・゜:==≡≡Σ=͟͟͞͞(✡)`Д´)グヘッ!

カスタムフィールドプラグイン「Advanced Custom Fields」を使って同じ様な処理を製作。

設定例はこんな感じ(・ω・)

【フィールドラベル】 アクセス制限
【フィールド名】 block
【フィールドタイプ】 チェックボックス
【選択肢】true : アクセス制限をかけます
【デフォルト値】 

このカスタムフィールドをアクセス制限かけたい記事のカテゴリーなりに結びつけて、
表示記事テンプレート部分に設置

<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>


<?php if (is_user_logged_in()) : ?>
<!--ログインしてる時の内容-->

<?php else ://ログインしてない場合 ?>
<?php
$selected = get_field('block');
if( in_array('true', $selected ) ): ?>
<!--ログインしていなくてチェックが入っている時の内容-->

<?php else ://チェックしてない場合 ?>
<!--ログインしていなくてチェックが入っていない時の内容-->

<?php endif; ?>


<?php endif; ?>
<?php endwhile; ?>
<?php endif; ?>

これで、確認・実行済み!ヽ(`Д´)ノ

また参考までに、「Advanced Custom Fields」のラジオボタンで、処理を条件分岐するコードサンプルメモ(・◇・)つ

<?php if( get_field('フィールド名') == "選択肢"): ?>
<p>処理</p>
<?php elseif( get_field('フィールド') == "選択肢"): ?>
<p>処理</p>
<?php endif; ?>

WordPressやプラグインのバージョンが変わると非対応になるかもしれないので、アクマで参考まで!


今回の参考サイト様:
◎P-Members -カスタムフィールドを含んだ記事を管理画面から制御- | WP TECH (WordPress技術専門 Tips)
http://www.wp-tech.net/wordpress_tips/2557/

◎【WordPress】ACFのラジオボタンで処理を条件分岐するコードサンプル | サカタのWEB制作メモ
http://sakatamemo.info/wordpress%E3%80%90acf%E3%80%91/252/

TrackBack

このエントリーのトラックバックURL; http://mtw.cocotte.jp/cgi-bin/mt4/mt-tb.cgi/1104
このエントリーのリンクURL: http://mtw.cocotte.jp/blog/diary/wordpress/2017/01/19-2223.php

Comment

■コメントを投稿

  コメントをプレビュー

ご利用のブラウザ、設定ではコメントのリアルタイムプレビューはご利用になれません。


画像の中に見える文字を入力してください。

Amazon オススメ人気RANKING BEST8

Amazon ねんどろいど人気RANKING BEST8

Site Search

Tag Cloud


2002.6.6 count start