お世話になります、hyperitakdxです。
今回初めて質問させていただきます。
現在WordPressサイトの機能追加案件をおこなっているのですが
手詰まりになってしまい周りに詳しい人もおらず大変困ってます。
なんとかご教授願えればと思います。
###前提・実現したいこと
WordPressの固定ページで動画一覧を作成しています。
AdvancedCustomField::Repeater(以下ACF:R)を使用して
ポストへのカスタムフィールドを追加し動画を複数登録できるようにしています。
階層 key 属性
field movie-group repeater
L subfield movie-category selectbox
L subfield movie-title text
L subfield movie-code text
query_posts($args)を使用して条件にあったポストを取得し
同一のポストであっても複数の動画が登録されている場合それぞれ一覧に表示したいです。
理想としては同一ポストであれば並んで表示されるようになっていれば最高です。
妥協としては2つのループに分けてそれぞれで取得して大きくmovie-categoryで出し分けられればと思います。
###問題点
そもそも一つのポストを2回も3回も1つのループの中で取得できるのかが不明。
ACF:Rでrepeaterでフィールドを追加した際、query_posts($args)でのsub_fieldの取得の仕方が分からない。
###該当のソースコード
php
1<?php if (have_posts()) : while (have_posts()) : the_post(); ?> 2 <h1 class="company-page-title"><?php the_title(); ?></h1> 3 <?php 4 $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 5 $args = array( 6 'posts_per_page' => 20, //企業情報を20件取得 7 'paged' => $paged, 8 'post_type' => 'company', // 企業情報のポストを取得 9 10 'meta_query' => array( 11 'relation' => 'AND', 12 array( 13 'key' => 'movie-group', 14 'value' => true, 15 ), 16 array( //sub_fieldの値の取得が分からない 17 'key' => 'movie-category', 18 'value' => array('specail', 'intarnship'), 19 ), 20 ), 21 ); 22 query_posts($args); 23 ?> 24 <?php if (have_posts()):while (have_posts()):the_post(); ?> 25 /***省略***/ 26 <?php endwhile; 27 endif; ?> 28 <?php wp_reset_postdata(); 29 wp_reset_query(); ?> 30 <?php endwhile; ?> 31<?php endif; ?>
###試したこと
下記コードで単純に動画のあるポストの絞り込みは成功いたしました。
php
1$args = array( 2 'posts_per_page' => 20, //企業情報を20件取得 3 'paged' => $paged, 4 'post_type' => 'company', // 企業情報のポストを取得 5 'meta_key' => 'movie-group', //ACF:Rのgroup 6 'meta_value' => true //movie-groupに記入があるとき 7);
###補足情報(言語/FW/ツール等のバージョンなど)
WordPress v4.7.2
PHP v7.1.1
WordPressプラグイン
Advanced Custom Fields v4.4.11
Advanced Custom Fields: Repeater Field v1.1.1
以上です。
そもそも可能なのか、不可能であれば別の方法がないか知りたいです。
一つ自分の中で手がかりがあるとすればgroup内のrowの数分さらにループをかけたりしたらどうなるかというところです。
構想はあるのですがコードにできず…
どうぞよろしくお願いいたします。
参考:https://www.advancedcustomfields.com/resources/query-posts-custom-fields/
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。