Advanced Custome Fieldの投稿オブジェクトで選択した投稿を、
投稿した記事内に表示させたいのですが表示させることができず困っております。
詳しい方お力お貸しいただけると幸いです。
##環境
Advanced Custom Fields PRO(バージョン 5.8.2)
##やりたいこと
「Advanced Custome Fieldの投稿オブジェクトについて」の記事のように、
- カスタム投稿タイプAにACFのカスタムフィールドがある(Group)
- 投稿には「投稿オブジェクト」でカスタム投稿タイプの記事を選択
という状況で、
- 「カスタム投稿タイプA」に投稿を追加(カスタムフィールドはGroup)
- 通常の「投稿」に「投稿オブジェクト」のカスタムフィールドを追加
- 1.のカスタム投稿タイプAの投稿を選択
- 投稿した記事にカスタム投稿タイプAの内容を表示したい
<?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; ?>
上記のリンクにあるコードですと、カスタムフィールドだけではなく、
タイトル他の項目も表示できなかったため、他のサイトを参考に、
下記のコードでタイトルを表示することはできました。
<?php $post_objects = get_field('投稿オブジェクト名'); if( $post_objects ): // 投稿オブジェクトの取得 ?> <?php echo get_the_title($post_objects->ID); //タイトルの取得 ?> <?php endif; ?>
グループ以外のカスタムフィールドを作成して、試してみたりしたのですが、
この部分を変更してもカスタムフィールドの値を取得することができませんでした。
<?php the_field('カスタムフィールド名', $object->ID) ;?>
通常は以下のコードでグループのデータを表示しています。
<?php if ( have_rows( 'グループ名' ) ) : ?> <?php while ( have_rows( 'グループ名' ) ) : the_row(); ?> <?php the_sub_field( 'サブグループラベル' ); ?> <?php endwhile; ?> <?php endif; ?>
phpに詳しくなく、初歩的な質問かもしれませんが、
詳しい方ご教授いただけると幸いです。
何卒よろしくお願い致します。
###参考にしたサイト
https://teratail.com/questions/42413
https://hirashimatakumi.com/blog/7.html
https://website-design.space/wordpress/plugin/acf-post-obj/

回答1件
あなたの回答
tips
プレビュー