投稿のカテゴリー一覧を、記事の更新に並べたい
-
いつもお世話になります。
オリジナルテーマのhome.phpで、投稿の新着情報をカテゴリ毎に1件ずつ表示しています。
このカテゴリを、記事の日付順に並べることは可能でしょうか?例えますと、
3月1日 カテゴリBの記事
4月1日 カテゴリAの記事
5月1日 カテゴリBの記事
と投稿した場合、home.phpで
・カテゴリB 5月1日 タイトル
・カテゴリA 4月1日 タイトル
と表示したいのです。
ちなみに、1記事に対し1カテゴリのみ選択しています。現在はget_termsで取得したカテゴリ情報をforeachで回し、
そのループ内でget_postsにget_terms情報を入れて
1件ずつ出力しています。<?php $cat_all = get_terms('category'); if(!is_wp_error($cat_all) && count($cat_all)): //cat loop start foreach($cat_all as $cat_value): $cat_posts = get_posts(array( 'numberposts' => 1, 'post_type' => 'post', 'taxonomy' => 'category', 'term' => $cat_value->slug, )); if($cat_posts): ?> <h3><a href="<?php echo get_category_link($cat_value->term_id); ?>"><?php echo esc_html($cat_value->name); ?></a></h3> <?php //post out start foreach($cat_posts as $cat_post): ?> <p><?php echo $cat_post->post_date; ?></p> <p><a href="<?php echo get_permalink($cat_post->ID); ?>"><?php echo esc_html($cat_post->post_title); ?></a></p> <?php endforeach; //post out end ?> <?php endif; endforeach; //cat loop end endif; ?>
get_termsだと、(当たり前かもしれませんが)日付順というソートができないようなので、
普通にループさせ、既出カテゴリの記事は条件分岐で飛ばす?タクソノミーオーダーのプラグインが入っているので、
更新のたびにそのカテゴリをトップに持って来るのが早いような気もしていますがこれを使うとその他のカテゴリリストにも影響が出ますし、
カスタマーサイトなので、できるだけコードで対応したいと考えています。
どうぞよろしくお願い致します。
9件の返信を表示中 - 1 - 9件目 (全9件中)
9件の返信を表示中 - 1 - 9件目 (全9件中)
- トピック「投稿のカテゴリー一覧を、記事の更新に並べたい」には新たに返信することはできません。