サポート » 使い方全般 » get_template_partに各ページ任意のカスタムフィールドの値

  • 解決済 H9

    (@harle9uin)


    現在、Advanced Custom Fieldsを使用して、固定ページを作成しています。
    phpは以前wordpressのカスタマイズに少しカジってみたのですが、ほぼ、素人といった状態です。

    仮にcustom_fieldというフィールドを作成して、各ページ毎に任意の値をget_template_partに出力し、固定ページ毎にテンプレートを切り替えたいと思っています。

    完全にうろ覚えかつ根本がわかっていないのですが、下のようにしてみました。
    結果、全然ダメでした…。

    $cf = (array)post_custom('custom_field');
    get_template_part( 'page', '$cf' );

    お分かりななられる方がいれば、お助けいただけると大変助かります。

    よろしくお願いたします。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック投稿者 H9

    (@harle9uin)

    以下で、カスタムフィールドの値は出力することは出来ました。

    $cf = the_field('custom_field', $post->ID);
    echo $cf;

    しかし、以下のようだとエラーになってしまい、ページが表示すらされませんでした。

    $cf = the_field('cf', $post->ID);
    get_template_part( 'page', $cf );

    フィールドcfには、test入力済み。
    page-test.phpというファイルはあがってます。
    (get_template_part( ‘page’, ‘test’ )とすると、表示されます。)

    よろしくお願いします。

    カトさん
    こんにちは。

    上記のthe_fieldはカスタムフィールドの値を取得するのではなく、値を表示するものだと思います。
    $postが参照できるようになっているなら、以下でいけると思います。

    $cf = get_post_meta( $post->ID, 'cf', true );
    get_template_part( 'page', $cf );

    トピック投稿者 H9

    (@harle9uin)

    tmatsuurさん

    ありがとうございます。
    バッチリ表示されました!!!!

    やっぱり、phpなどもしっかりと勉強しないとダメですね。

    ホント助かりました。
    ありがとうございました。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「get_template_partに各ページ任意のカスタムフィールドの値」には新たに返信することはできません。