【WordPress】親カテゴリテンプレートに子カテゴリごとの記事を表示
2015/11/21
お仕事でWordPressのサイトを作っていました。
料理のメニューページをお客様で更新できるようにするため
category-親カテゴリ名.php
というテンプレートを作って表示をカスタマイズしました。
カスタムフィールドプラグイン「Custom Field Template」を使って料理の画像や
説明文、価格を登録してメニュー表を表示させようと1記事に1項目登録しました。
当初は
親カテゴリ名
- 子カテゴリA記事内容
- 子カテゴリA記事内容
- 子カテゴリA記事内容
- 子カテゴリB記事内容
- 子カテゴリB記事内容
- 子カテゴリB記事内容
- 子カテゴリC記事内容
- 子カテゴリC記事内容
- 子カテゴリC記事内容
という表示でしたが、
実装したかったのは
親カテゴリ名
子カテゴリ名A
- 子カテゴリA記事内容
- 子カテゴリA記事内容
- 子カテゴリA記事内容
子カテゴリ名B
- 子カテゴリB記事内容
- 子カテゴリB記事内容
- 子カテゴリB記事内容
子カテゴリ名C
- 子カテゴリC記事内容
- 子カテゴリC記事内容
- 子カテゴリC記事内容
だったので色々とgoogleで検索した所、こちらのリンク先にたどり着きました。
<ul>
<?php
$args["parent"] = 1;
$cats = get_categories($args);
foreach ($cats as $cat) {
echo "<h2>".$cat->cat_name."</h2>";
$posts = get_posts("category=".$cat->cat_ID."&orderby=post_modified");
foreach ($posts as $post) :
setup_postdata($post);
?>
<p><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></p>
<?php endforeach; }?>
</ul>
このコードをヒントにソースを修正したところ、実現したい内容になりました。
これからWordPressの案件でクライアント様に更新していただくような、案件が出た場合かなり
役立ちそうです。