サポート » 使い方全般 » PHP構文の中にカスタムフィールドの値を出力したい

  • shinkichi

    (@shinkichi)


    共通のPHPを作り、カスタムフィールドの値で違うデータを表示させたいと思っています。
    そうした時に、下記のような条件分岐をしなくてはいけなくなりました。
    2箇所の「●●●」に、カスタムフィールドで入力した値を出力させたいのです。

    <?php if ( is_page( '●●●' ) ) : ?>
      <?php get_template_part( '●●●' ); ?>
    <?php endif; ?>

    「Custom Field Template」を使っての出力なので、単純にまず、
    <?php echo post_custom( 'カスタムフィールド名' ); ?>
    を試しましたが、エラー。

    PHP構文の中に書くには、

    <?php
    $custom_fields = get_post_custom();
    $my_custom_field = $custom_fields[ 'カスタムフィールド名'];
    foreach ( $my_custom_field as $key => $value )
      echo $value;
    ?>

    こんな感じのものが浮かんだのですが、繰り返しではないので「foreach」ではないし…など、ない知恵を絞ったのですが答えが見つからず。

    そもそも、望むようなことが可能かどうかも分かっておりません。

    どなたかご教授いただけませんでしょうか。
    よろしくお願いいたします。

    • このトピックはshinkichiが5年前に変更しました。
3件の返信を表示中 - 1 - 3件目 (全3件中)
  • ishitaka

    (@ishitaka)

    こんにちは

    「Custom Field Template」を使っての出力なので、単純にまず、
    <?php echo post_custom( 'カスタムフィールド名' ); ?>
    を試しましたが、エラー。

    どのようなエラーでしょうか?

    カスタムフィールド名に対応する最初の値だけでよいのであれば、下記のようになると思います。

    $value = get_post_meta( get_the_ID(), 'カスタムフィールド名', true );

    トピック投稿者 shinkichi

    (@shinkichi)

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

    エラーですが、出力コードを書いた行に問題がありますよ、
    というアラートだけのページが表示されました。

    ご提示いただいたコード、試させていただきたいのですが、

    <?php if ( is_page( '●●●' ) ) : ?>
      <?php get_template_part( '●●●' ); ?>
    <?php endif; ?>

    このコードにどう対応されば良いのかが分からず(涙)
    教えていただくことは可能でしょうか?

    ishitaka

    (@ishitaka)

    <?php if ( is_page( $value ) ) : ?>
      <?php get_template_part( $value ); ?>
    <?php endif; ?>

    こういう事かしら?

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「PHP構文の中にカスタムフィールドの値を出力したい」には新たに返信することはできません。