同一カスタムフィールド値から、別のカスタムフィールド値の一覧取得
-
お世話になっております。
表示としては、下記のように表示したいと考えています。
<h3>「イルカ(※カスタムフィールドA)」の種類</h3> <ul> <li><a href="http://○○?s=マイルカ">マイルカ(※投稿のカスタムフィールドB)</a></li> <li><a href="http://○○?s=ハセイルカ">ハセイルカ(※投稿のカスタムフィールドB)</a></li> <li><a href="http://○○?s=シナウスイロイルカ">シナウスイロイルカ(※投稿のカスタムフィールドB)</a></li> </ul>
現在は下記のように、まず同一のカスタムフィールドAをもっている投稿を全て取得し、
取得した投稿のカスタムフィールドBを配列に入れ、その配列をforeach()で表示しています。
※カスタムフィールドはAdvanced custom fieldsを使用しています$arr = array(); $sameType = new WP_Query(array( 'posts_per_page' => -1, 'order'=> 'DESC', 'orderby' => 'date', 'category_name' => 'new', "meta_query" => array( array( 'key' => 'type', 'value' => get_field('type'), 'compare' => '=', 'type' => 'CHAR' )) )); if ( $sameType->have_posts() && get_field('type') != 'なし' ) : echo '<h3>「'.the_field('type').'」の種類</h3>'; while ( $sameType->have_posts() ) : $sameType->the_post(); $ttl = get_field('db_book_series', $sameType->ID); array_push($arr, $ttl); endwhile;wp_reset_postdata(); $arr = array_unique($arr); //重複削除 echo '<ul>' foreach ($arr as $type) : echo '<li><a href="'.get_home_url().'/?s='.$type.'">'.$type.'</a></li>'; endforeach; echo '</ul>'; endif;
この方法でも取れてはいるのですが、この先投稿データが増えていくと
重くならないかと懸念があります。。
もっとよい方法がありましたら教えてください。どうぞ、よろしくお願い致します。
6件の返信を表示中 - 1 - 6件目 (全6件中)
6件の返信を表示中 - 1 - 6件目 (全6件中)
- トピック「同一カスタムフィールド値から、別のカスタムフィールド値の一覧取得」には新たに返信することはできません。