質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.12%

[word press]Advanced Custome Fieldの投稿オブジェクトについて

受付中

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 2,554

satoty0307

score 10

いつもお世話になっております。

当方「Advanced Custome Field」を使い「投稿オブジェクト」のフィールドを追加し、他で投稿した記事を参照したいと考えております。

初心者なりに調べたりしてみて、「タイトル」や「本文」「パーマリンク」等は取得できたのですが、カスタムフィールドの項目は取得が出来ませんでした。

最終的にな目標は下記の様な状態を目指しております。

・カスタム投稿タイプ  「main」と「sub」の2タイプ
・2タイプ共に「Advanced Custome Field」を使ってカスタムフィールドを追加
・「main」にカスタムフィールド「投稿オブジェクト」を使い「sub」のカスタムフィールド項目を引用

まずこの状態が実現可能かどうかも分からず試行錯誤しております。
お力添えお願い致します。

----------以下追記-------------
下記コードを、カスタム投稿タイプ  「main」のテンプレートファイルに記載してカスタム投稿タイプ  「sub」の情報を取得、引用しようとしております。
タイトル、本文は下記コードにて引用できたのですが、その他のカスタムフィールド取得の仕方が分からない状態です。
色々と検索してみたのですが、カスタムフィールドに関しての情報を見つけきれず。

<?php if(get_field('sub_info')): ?>
    <?php
        $post_object = get_field('sub_info');
        foreach ( $post_object as $object ) { ?>
        <p>タイトル:<?php echo $object->post_title; ?></p>
        <p>本文:<?php echo $object->post_content; ?></p>
    <?php } ?>
<?php endif; ?>

恥ずかしながらphpもよく分からないままwpをカスタムしております。
お手数ですが、よろしくお願い致します。

------------以下追記7/27 14:57-------------

kei344さんの助言で、カスタムフィールドの引用が出来ました。
本当にありがとうございます。(下記コード)

<?php if(get_field('sub_info')): ?>
    <?php
        $post_object = get_field('sub_info');
        foreach ( $post_object as $object ) { ?>
        <p>タイトル:<?php echo $object->post_title; ?></p>
        <p>本文:<?php echo $object->post_content; ?></p>
        <p>カスタムフィールド:<?php the_field( 'your_custum_field_name', $object->ID );  ;?></p>
    <?php } ?>
<?php endif; ?>

テキストは取得できたのですが、フィールドタイプが画像のカスタムフィールドの場合はどのようにしたらよいでしょうか?
返り値は[画像ID]としています。

<?php if(get_field('sub_info')): ?>
    <?php
        $post_object = get_field('sub_info');
        foreach ( $post_object as $object ) { ?>
        <p>タイトル:<?php echo $object->post_title; ?></p>
        <p>本文:<?php echo $object->post_content; ?></p>
        <p>カスタムフィールド<?php the_field( 'your_custum_field_name', $object->ID );  ;?></p>

        <?php $image = get_field('your_custum_field_name');
        $size = 'full'; // (thumbnail, medium, large, full or custom size)
        if( $image ) {
          echo wp_get_attachment_image( $image, $size );
        }
        ?>

    <?php } ?>
<?php endif; ?>

頂いた参考サイトを見つつ上記の様な物を試してみましたが、エラーとなりました、、、

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • harashow1701

    2016/07/27 13:53

    とりあえずやったことを漏れなく追記しようか。現状わからないのに答えようがない。

    キャンセル

  • kei344

    2016/07/27 13:54

    取得部分のコードを試されたところまで、質問文にコードブロックで追記されてはいかがでしょう。

    キャンセル

回答 1

0

$object には WP_Post の値が入っているようなので。

the_field( 'your_custum_field_name', $object->ID ); // 未テスト

【Advanced Custom Fieldsの全項目解説・公開側表示編集編 | エス技研】
http://blog.s-giken.net/253.html#object

【WP_Post:WordPress私的マニュアル】
http://elearn.jp/wpman/class/wp_post.html

【Advanced custom field の出力方法 | BLOG | Takumi Hirashima Artworks】
http://hirashimatakumi.com/blog/7.html


追記:

画像自体の出力方法は参考URLを読んでください。書いてありますので。

get_field( 'your_custum_field_image', $object->ID );

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/07/27 15:12

    kei344さま
    御丁寧にありがとうございます。
    テキストの引用はこちらで大丈夫そうです。

    テキストフィールドが画像の際の対応方法も参考サイトを元に試行錯誤しておりますが、なかなか出来ません、、、
    もしよければご助言頂けると助かります。よろしくお願い致します。

    キャンセル

  • 2016/07/27 15:14

    今追記しました。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.12%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる