サポート » 使い方全般 » 固定ページのカスタムフィールドの内容をTOPページに全て反映させる方法

  • WordPressの固定ページでカスタムフィールドに記入したものを
    TOPページの1コンテンツとして表示させたいです。

    現在は検索してでてきた

    <?
                $txt = get_field('title1_top1',98);
                if($txt){ ?><h1><? echo $txt; ?></h1>
                <? }
                $area = get_field('text1_top1',98);
                if($area){ ?><p><? echo $area; ?></p>
                <? }
                ?>

    これを直にindex.phpに書いているのですが、量が多くてページが重くなってしまいます。
    できることなら、固定ページのテンプレート内に上記のコードを置いて
    ページの中の全てのコンテンツを引き出す形で表示できたらと考えています。

    `<?php
    $page = get_post(◯◯, ‘OBJECT’ , ‘raw’); //指定したページのIDの情報を取得
    $page_include = apply_filters( ‘the_content’,$page->post_content); //ページの本文をフィルターフックで整形してます
    echo $page_include; //出力します
    ?> `

    このコードはコンテンツを引き出すものですが、カスタムフィールド版はあるのでしょうか?
    お教え頂ければ幸いです。

    よろしくお願いします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • ACF | get_fields()
    get_field() がカスタムフィールドをひとつずつ取得するのに対して、get_fields() はまとめて取得できるみたいですよ。用例も載っています。

    rn88888 さん

    よく使いますがそんなに難しくないですよ。

    <?php
    $page = get_field('投稿オブジェクト');//カスタムフィールド(投稿オブジェクト)取得
    $page_content = $page->post_content;//コンテンツエディター取得
    ?>

    の応用で

    <?php
    $page = get_field('投稿オブジェクト');//カスタムフィールド(投稿オブジェクト)取得
    $page_content = $page->post_content;//コンテンツエディター取得
    $page_id = $page->ID;//ページID取得
    ?>
    <?php
    echo get_post_meta( $page_id, 'key_1', true );//key_1は指定のカスタムフィールド名
    ?>

    こんな感じでしょうか。

    $postを使えば、通常のthe_field()でも使用できますが、状況に応じてってかんじですかね。

    もしかしたら、「advanced custom field」でプラグインの方で投稿した方がよい答えくださる方がいらっしゃるかもです。

    gblsmさん
    mura0403さん

    ご回答頂き、ありがとうございました。とてもわかり易かったです。
    カスタムフィールドを使い始めところだったので、お教え頂いた方法もとても役に立ちました。

    今回はコードを組んでいく中で、Divなどのスタイルも一緒に読み込みたいということになり、
    そうするとフィールド内をまるごと読み込む方法ではうまくいかないなという結論になりました。
    固定ページから固定ページではなく、固定ページからTOPページヘ、固定ページのデザインを維持したまま埋め込む形で読み込みをしたかったというところです。。。(もしかしたらできるのかもしれませんが…)

    お時間頂きありがとうございました。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「固定ページのカスタムフィールドの内容をTOPページに全て反映させる方法」には新たに返信することはできません。