ワードプレスの複数のカスタム投稿のループ内から、
指定のpost_typeのものだけ、表示方法を変更したいと思っております。
関連記事の表示になります。
表示させたい場所は、カスタム投稿のsingleページになります。
※任意で設定したカスタムフィールドの値も表示させたい。
アドバンスカスタムフィールドの設定で、該当のカスタム投稿に関連記事のフィールドを作成しております。
下記が設定情報になります。
Return Format:Post IDs にチェック
投稿タイプ:取得したいカスタム投稿を複数選択しております。
タクソノミーでフィルタする:何も設定なし
フィルター:検索 にチェック
Elements:3つともチェック
最大投稿数:設定なし
参考URL:https://naifix.com/acf-related-article/
下記がsingleのコードになります。
single.php
1<ul> 2 <?php 3 $related_posts = get_field('favorite'); //カスタムフィールド値 4 $args = array( 5 'post_type' => array('coustom1','coustom1','coustom1'), //カスタム投稿 6 'posts_per_page' => 6, //件数指定 7 'post__in' => $related_posts, //queryに含む投稿IDを指定 8 'orderby' => 'post__in' //表示順(配列に入っている順)<br /> 9 ); 10 ?> 11 <?php $query = new WP_Query( $args ); ?> 12 <?php if($query -> have_posts()): ?> 13 14 <?php while($query -> have_posts()): $query->the_post();?></p> 15 <li> 16 <p>coustom1 の表示</p> 17 <p class="sekou_dtl"><a href="<?php the_permalink(); ?>">詳しくはこちら</a></p> 18 </li> 19 20 <li> 21 <p>coustom2 の表示</p> 22 <p class="sekou_dtl"><a href="<?php the_permalink(); ?>">詳しくはこちら</a></p> 23 </li> 24 25 <li> 26 <p>coustom3 の表示</p> 27 <p class="sekou_dtl"><a href="<?php the_permalink(); ?>">詳しくはこちら</a></p> 28 </li> 29 </ul> 30 <?php endif; ?> 31 32 33 <?php endwhile; ?> 34 <?php endif; ?> 35 <?php wp_reset_postdata(); ?> 36
以上になります。
<li>タグのところでif文で条件分岐させるしか方法がないと思っておりますが、 各カスタム投稿のpost_type ??の値をこのループ内で取得する方法がわかりません。わかるから教えてもらえますでしょうか。
また、その他良い書き方があれば教えてください。
宜しくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/12 11:32
2017/11/12 14:49