サポート » 使い方全般 » 投稿詳細でカスタムフィールドの値をURL付きで表示する

  • 解決済 imasa

    (@imasa)


    フォーラム検索/google検索などしているのですが、取っ掛かりがつかめずこちらに投稿させていただきます。

    投稿詳細(single.php)にて、記事を表示しております。
    また、カスタムフィールドはadvanced custom fieldsを使用しています。
    ↑を用いて、チェックボックスのカスタムフィールドを作成し、投稿管理画面からチェックボックスにてチェックをいれています。チェックは複数の可能性もあります。

    投稿記事の所に、カテゴリ表示のようなよくある形でチェックボックスの選択された選択肢も表示しているのですが、
    こちらをURLリンク付きで表示させたいと考えています。
    リンクさせたいURLは、サブナビでチェックボックスの選択肢によったソートもしていてそこはクエリを使い表示させているので同じURLを使用したいと考えています。
    選択肢は4つのため、動的ではなくifで直書きでもいいかとはおもっていますが、糸口がみつからず。。
    ご教示いただけると助かります。

    ▼ 現状カスタムフィールドを表示させているコード(URLなし)

    
          <?php
          $field = get_field_object('flag_target');
          $targets = $field['value'];
          if( $targets ): ?>
          <ul class="icon-target">
            <?php foreach( $targets as $target ): ?>
              <li><?php echo $field['choices'][ $target ]; ?></li>
            <?php endforeach; ?>
          </ul>
          <?php endif; ?>
    
2件の返信を表示中 - 1 - 2件目 (全2件中)
  • gblsm

    (@gblsm)

    一週間たちましたが、もう解決なさったでしょうか?

    URLを取得する方法(クエリ)は出来上がっているように読めますので、以下のようなコードで済むのではないでしょうか。もしピント外れなコメントでしたらすみません。

    <?php
      $field = get_field_object( 'flag_target' );
      $targets = $field['value'];
      if( $targets ): ?>
        <ul class="icon-target">
          <?php foreach( $targets as $target ): ?>
            <?php
            $linkto = my_func( $target ); // $target の値に応じたリンクのURLを取得する
            ?>
            <li><a href="<?php echo $linkto; ?>">
            <?php echo $field['choices'][ $target ]; ?>
            </a></li>
          <?php endforeach; ?>
        </ul>
    <?php endif; ?>
    
    トピック投稿者 imasa

    (@imasa)

    gblsmさま

    ご回答、ありがとうございます。
    丁度、週末に私もふと気付きこちらをいただいたコードと同じような形で解決することができました!
    ありがとうございます。

    こちらにて解決とさせていただきます。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「投稿詳細でカスタムフィールドの値をURL付きで表示する」には新たに返信することはできません。