###紐づいた記事のフィールド値をとりだして表示したいです
###作業背景
wordpressで美容室のグループサイトを作っています
サロン、スタッフの情報をAFC別々に登録し
両方の記事に同じフィールド値を表示したいです。
▼使用プラグイン
Advance custom field (ACF)
Custom Post Type UI (CPTUI)
---CPTUIで2つの投稿タイプを作成
0. サロン:salon
0. スタッフ:staff
---CPTUIで2つのタクソノミーを作成
0. サロンの特徴:specialtax
・キッズルームあり
・24時間営業
0. スタッフ技術:skiltax
・カット
・パーマ
---その後Advance custom fieldで
上記の投稿タイプに各々以下を作成
・サロンにはスタッフが複数含まれる場合がある
・スタッフは1つ以上のサロンには属さない
条件で
▼【サロン】フィールド
|サロンA
|/フィールド名:staffname
|タイプ:関連
|選択投稿タイプ:スタッフ (←スタッフを選択します(複数))
|
|/フィールド名:special (←サロンの特徴を選択します(複数))
|タイプ:タクソノミー
|返り値:タームオブジェクト
▼【スタッフ】フィールド
|スタッフA
|/フィールド名:salonname (←サロンAを選択します(単数))
|タイプ:投稿オブジェクト
|返り値:投稿オブジェクト
|
|/フィールド名:skill (←スキルを選択します(複数)
|タイプ:タクソノミー
|返り値:タームオブジェクト
###問題点
以下のソースコードで
投稿タイプ
【サロン】に
・スタッフ
・スタッフのスキル
を表示するのは可能だが
【サロン】アーカイブページや
投稿タイプ
【スタッフ】に
【サロン】で登録したタームを出力することができない
###投稿タイプ【サロン】 のsingleページ 該当のソースコード (これは出力されます)
<?php $posts = get_field('staffname'); if( $posts ):?> <?php foreach( $posts as $val ): ?> <!--↓これはスタッフ投稿タイプ内のAFCの値--> <?php $terms = get_field('skill',( $val->ID )); if( $terms ): ?> <?php foreach( $terms as $term ): ?> <a href="<?php echo esc_url( get_term_link( $term ) ); ?>"><?php echo esc_html( $term->name ); ?></a> <?php endforeach; ?> <?php endif; ?> <!--↓これはサロンで登録した情報なので普通に表示される--> <?php $terms = get_field('special'); if( $terms ): ?> <?php foreach( $terms as $term ): ?> <a href="<?php echo esc_url( get_term_link( $term )); ?>"><?php echo esc_html( ( $term->name) ); ?></a> <?php endforeach; ?> <?php endif; ?> <!--省略--> <?php endforeach; ?> <?php endif; ?>
###投稿タイプ【スタッフ】 のsingleページ 該当のソースコード (これは出力されない)
<?php $posts = get_field('salonname'); if( $posts ):?> <?php foreach( $posts as $val ): ?> <!--↓これはサロン投稿タイプ内のAFCの値--> <?php $terms = get_field('special',( $val->ID )); if( $terms ): ?> <?php foreach( $terms as $term ): ?> <a href="<?php echo esc_url( get_term_link( $term ) ); ?>"><?php echo esc_html( $term->name ); ?></a> <?php endforeach; ?> <?php endif; ?> <!--↓これはスタッフで登録した情報なので普通に表示される--> <?php $terms = get_field('skill'); if( $terms ): ?> <?php foreach( $terms as $term ): ?> <a href="<?php echo esc_url( get_term_link( $term )); ?>"><?php echo esc_html( ( $term->name) ); ?></a> <?php endforeach; ?> <?php endif; ?> <!--省略--> <?php endforeach; ?> <?php endif; ?>
AFC設定時の
【関連】
【投稿オブジェクト】
の違いが原因でしょうか?...
どうかお力をお貸しください
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。