サポート » 使い方全般 » 【Advanced Custom Fields】get_fieldで条件分岐する方法

  • 解決済 suzuki_macboy

    (@suzuki_macboy)


    
    <div><?php if(get_field('フィールド名1')): ?>
      <p><?php the_field('フィールド名1'); ?></p>
    <?php endif; ?>
    <?php if(get_field('フィールド名2')): ?>
      <p><?php the_field('フィールド名2'); ?></p>
    <?php endif; ?>
    </div>

    上記のような場合「フィールド1」「フィールド2」が両方未入力の場合にのみ

    <div>
    <p>情報がありません</p>
    </div>

    と表示させたいです。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • naohanpen

    (@naohanpen)

    はじめまして。
    おそらく、存在しないときには false を返すのだと思います。そうであれば、

    <?php
    if(!get_field('フィールド名1') && !if(get_field('フィールド名2')))
    {
      echo "<div><p>情報がありません</p></div>";
    }
    

    をお試しください。
    ご不明な点等ありましたら返信してお知らせください。

    スレッド開始 suzuki_macboy

    (@suzuki_macboy)

    ご回答ありがとうございます。

    もし「フィールド名1」「フィールド名2」が入力されている場合は

    <div>
    <p>あああああああ</p>
    <p>いいいいいいい</p>
    </div>

    のようなコードになるのでしょうか

    naohanpen

    (@naohanpen)

    返信ありがとうございます。

    そうなります。

    ただ、ともに入力されていない場合には

    <div></div>
    <div>
    <p>情報がありません</p>
    </div>
    

    となってしまうので、

    <div>
    <?php
    if(get_field('フィールド名1'))
    {
      echo "<p>" . the_field('フィールド名1') . "</p>";
    }
    if(get_field('フィールド名2'))
    {
      echo "<p>" . the_field('フィールド名2') . "</p>";
    }
    if(!get_field('フィールド名1') && !if(get_field('フィールド名2')))
    {
      echo "<p>情報がありません</p>";
    }
    ?>
    </div>
    

    とした方がいいかもしれません。
    ※もっとスマートな書き方があるかもしれません(ある気がします)。お気づきの方がいましたら教えてください。

    解決しましたらこのスレッドを「解決済み」にしていただきますようお願いします。
    またご不明な点等ありましたらお気軽にお知らせください。

    • この返信は2ヶ月前にnaohanpenが編集しました。理由: 誤ったコードを編集
    スレッド開始 suzuki_macboy

    (@suzuki_macboy)

    ありがとうございましたとても参考になりました。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • このトピックに返信するにはログインが必要です。