複数カテゴリがある際にカテゴリ毎に記事を出力する
単純に記事をループさせると日付順などでソートされてしまいますが、
今回はカテゴリー毎に記事をループさせる方法を紹介します。
通常であれば下記のような形で記事一覧が作成されてしまいます。
- -Aカテゴリの記事 20150709公開
- -Aカテゴリの記事 20150708公開
- -Bカテゴリの記事 20150707公開
- -Aカテゴリの記事 20150706公開
- -Bカテゴリの記事 20150705公開
- -Cカテゴリの記事 20150704公開
- -Cカテゴリの記事 20150703公開
- -Bカテゴリの記事 20150702公開
- -Cカテゴリの記事 20150701公開
カテゴリーごとに揃えた一覧を作りたい!
$categories = get_categories('orderby=id&order=ASC');
foreach($categories as $category) :
echo '
' . $category->cat_name . '
';
query_posts('showposts=5&cat=' . $category->cat_ID);
while(have_posts()) :
the_post();
echo '- ' . get_the_title() . '
';
endwhile;
wp_reset_query();
echo '
';
endforeach;
上記のコードで一覧を作成すると下記のような形にて書き出されます。
- Aカテゴリ
- -Aカテゴリの記事
- -Aカテゴリの記事
- -Aカテゴリの記事
- Bカテゴリ
- -Bカテゴリの記事
- -Bカテゴリの記事
- -Bカテゴリの記事
- Cカテゴリ
- -Cカテゴリの記事
- -Cカテゴリの記事
- -Cカテゴリの記事

