サポート » 使い方全般 » カスタムフィールド 値 複数指定

  • 解決済 chibiyuko_0124

    (@chibiyuko_0124)


    いつもお世話になっております。

    カスタムフィールドの出力値を囲っているdivなどの親要素を、
    囲っている中に入っている出力値のいずれかが入力されている場合に表示する
    といった指定にしたいと思っております。

    フィールド値の複数指定のやり方が検索してもヒットせず、こちらに投稿させていただきました。

    ★現在のソース

    <?php
    $text = get_field('A' || 'B' || 'C');
    if($text): ?>
    <?php echo($text); ?>
    <div>
    <p>フィールドAを出力</p>
    <p>フィールドBを出力</p>
    <p>フィールドCを出力</p>
    </div>
    <? endif; ?>

    ★やりたいこと
    A、B、Cいずれかの値がある場合にdivごと表示
    なければdivごと非表示

    ★現状
    A~Cの値はあるのにdivごと非表示になってしまいます。

    どなたかご教授いただけますと幸いです。
    よろしくお願いいたします。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • ikaring

    (@ikaring)

    カスタムフィールドはACFをお使いでしょうか。
    get_fieldはACFのものだとして、カスタムフィールドには単一の文字列が入っているものと仮定すると、下記のようにすれば良いのではないかと思います。(未検証です)

    <?php
    	$a = array("A", "B", "C");//チェックする文字を配列にセット
    	$cf = get_field( "fieldname" );//カスタムフィールドのフィールド名から値を取得
    
    if( in_array( $cf, $a ) ){
    	echo( $cf ); ?>
    	<div>
    	<p>フィールドAを出力</p>
    	<p>フィールドBを出力</p>
    	<p>フィールドCを出力</p>
    	</div>
    <?php endif;
    ?>

    ACFのget_field
    http://www.advancedcustomfields.com/resources/get_field/

    トピック投稿者 chibiyuko_0124

    (@chibiyuko_0124)

    ikaring様

    こんばんは。
    ご返信ありがとうございます。

    わかりづらくて申し訳ございません。

    A、B、Cは文字列ではなくフィールド名になります。
    なので、get_field( “fieldname” )の部分に「A、B、Cのうちのどれか1つ以上の値がある場合」という意味を持たせたく思っています。

    A~Cは下記のように出力しております。

    <div>
    <?php if(post_custom('A')): ?><li class="address"><div><?php echo post_custom('A'); ?></div><?php endif; ?>
    <?php if(post_custom('B')): ?><li class="address"><div><?php echo post_custom('A'); ?></div><?php endif; ?>
    <?php if(post_custom('C')): ?><li class="address"><div><?php echo post_custom('A'); ?></div><?php endif; ?>
    </div>

    どうぞよろしくお願いいたします!

    ikaring

    (@ikaring)

    それでしたら単純にこうしてはどうでしょうか。

    <?php if( post_custom('A') || post_custom('B') || post_custom('C') ): ?>

    トピック投稿者 chibiyuko_0124

    (@chibiyuko_0124)

    ikaring様

    ありがとうございます!post_customを使うのですね。
    上記を記述したところ無事に解決しました。
    困っておりましたので、本当に助かりました。
    ありがとうございます。

    ikaring

    (@ikaring)

    post_customでなくても、get_fieldでも値の有無が調べられれば大丈夫だと思いますが、いずれも引数に配列を渡すことができませんので、条件を組み合わせるしかないかなと思います。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「カスタムフィールド 値 複数指定」には新たに返信することはできません。