サポート » プラグイン » Advanced Custom Fieldsで作った複数のフィールドを分岐条件としたい

  • 解決済 momonuts

    (@momonuts)


    Advanced Custom Fieldsでチェックボックスとテキスト項目
    2つのカスタムフィールドを作りました。

    チェック項目は「はい」と「いいえ」にしてあり、
    1.「はい」にチェックが入り、さらにテキスト項目に記入されている場合
    2.「はい」にチェックが入り、テキスト項目に記入がない場合
    の2パターンの条件を作りたいと思っております。

    具体的には
    1の場合
    次の記事へのリンクをつけ、テキスト項目に記入されたテキストがリンク文字となる
    2の場合
    次の記事へのリンクをつけ、タイトルがリンク文字となる

    <?php if(get_post_meta( $post->ID, 'チェックボックスのフィールド名', true )): ?>
    <?php if ($field_color[value][0]==yes) : ?>
    <?php if(get_field("テキストのフィールド名")): ?>
    <div class="nextone">
    <?php next_post_link('%link', '次の記事は【<?php the_field('テキストのフィールド名'); ?>】'); ?>
    </div>
    <?php else : ?>
    <div class="nextone">
    <?php next_post_link('%link', '次の記事は【%title】'); ?>
    </div>
    <?php endif; ?>
    <?php endif; ?>
    <?php if ($field_color[value][0]==no) : ?>
    <?php endif ?>

    この様な形で作りましたがエラーが出ます。
    <?php next_post_link(‘%link’, ‘次の記事は【<?php the_field(‘テキストのフィールド名’); ?>】’); ?>
    この部分がだめだとは分かるのですが、複数を分岐条件とする場合どの様にしたら良いか調べても分からずでしたため質問させていただきました。

    アドバイスいただければ幸いです。
    よろしくお願いいたします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • モデレーター gatespace

    (@gatespace)

    条件分岐ではなく、PHPの書き方の問題です。

    未検証

    <?php
        next_post_link('%link', '次の記事は【' . get_field('テキストのフィールド名')  . '】');
    ?>

    トピック投稿者 momonuts

    (@momonuts)

    gatespace様

    アドバイスありがとうございます。

    <?php next_post_link('%link', '次の記事は【'.the_field('フィールド名') .'】'); ?>

    とした所うまくいきました。

    ただ、ちょっと私バカでした。。。
    次のページのフィールドの値を取得したかったんですけど、そんな事出来ませんよね。。。

    なので、
    php next_post_linkに、任意の値を表示させる(例:タグを出力させる)等の方法で
    希望の動作を模索したいと思います。
    これはこのトピックとは別の問題となりますため、こちらのトピックは解決済みとさせていただきます。

    ありがとうございました!

    モデレーター gatespace

    (@gatespace)

    次のページのフィールドの値を取得したかったんですけど、そんな事出来ませんよね。。。

    get_adjacent_post() 使えば前後の投稿の情報が取得できるので、
    そこからさらにIDを取得し、get_field() にそのIDを渡せば可能です。

    http://wpdocs.osdn.jp/関数リファレンス/get_adjacent_post
    http://www.advancedcustomfields.com/resources/get_field/

    あと next_post_link() などの関数内で使うのなら、 the_field() ではなく get_field() です。

    トピック投稿者 momonuts

    (@momonuts)

    gatespace様

    ありがとうございます!!!
    参考サイトをチェックし色々試してみます!

    the_fieldにしたのは、なぜかget_fieldですとシンタックスエラーがでたための苦肉の策でした^^;

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「Advanced Custom Fieldsで作った複数のフィールドを分岐条件としたい」には新たに返信することはできません。