前提・実現したいこと
taxonomy.phpでターム(カテゴリ)の記事を取得し、特定のフィールドでソートしたい
例)
6/6
10:00 出発
12:00 昼食
発生している問題・エラーメッセージ
以下のコードですと、別のタームまで読み込んでしまう。
該当のソースコード
<?php $custom_posts = get_posts(array( 'post_type' => 'schedule', // 投稿タイプ 'posts_per_page' => -1, // 表示件数 'meta_key' => 'time', //並び替えに利用したいカスタムフィールドのキーを指定 'orderby' => 'meta_value', //カスタムフィールドの値で並び替え 'order' => 'ASC' // 昇順・降順 ) ); global $post; if($custom_posts): foreach($custom_posts as $post): setup_postdata($post); ?> <!-- ループはじめ --> <!-- ループおわり --> <?php endforeach; wp_reset_postdata(); endif; ?>
試したこと
以下の構文だと、全部のタームを読み込んでしまう
<?php $taxonomy = 'schedules'; $terms = get_terms($taxonomy); foreach ( $terms as $term ){ $args = array( 'post_type' => 'schedule', 'posts_per_page' => -1, 'order' => 'ASC', 'meta_key' => 'time', 'orderby' => 'meta_value', 'tax_query' => array( array( 'taxonomy' => $taxonomy, 'field' => 'slug', 'terms' => $term->slug, ) ) ); $myPost = get_posts($args); if($myPost): ?>
ターム(カテゴリ別)で読み込めないのが痛手です。
普通に <?php while(have_posts()): the_post(); ?> ~ <?php endwhile; wp_reset_query(); ?>ですと
ターム内の記事を取得するのですが、並べ替えができなくて困っています。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。