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, お仕事