hiroeleganceのエレガンスとは呼べない日常

WEB屋hiroelegance(ヒロエレガンス)のブログhiroeleganceのエレガンスとは呼べない日常略して「エレ日」です。YouTubeで毎週火曜0時にラジオを配信しています。

【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の案件でクライアント様に更新していただくような、案件が出た場合かなり
役立ちそうです。

  広告

 - WordPress, お仕事