特定の親カテゴリーの子カテゴリーをリンク有り無しそれぞれでリスト表示する方法

2015/9/30

2021/10/5

3554 views

子カテゴリーリスト表示

ワードプレスで、トップページやサイドメニューに記事のカテゴリーの一覧リストを表示したい場合などあると思います。
この場合に、特定の親に属する子カテゴリーの一覧を表示させる方法を記載しています。
WPのテンプレートタグである「wp_list_cats」と「get_categories」を使って表示させることができます。

関数リファレンス/get categories

テンプレートタグ/wp list categories

リンク付きで表示させる場合

1. 「wp_list_cats」を使った場合の記述

wp_list_cats」というテンプレートタグを使って表示できます。
自動で<li>と<a>タグに囲まれて出力されます。

<ul>
<?php
    wp_list_categories(array(
        'child_of' => '2',//※特定親のカテゴリーID
        'title_li' => '',//見出しをなしに
        'show_count' => '1',//記事数(表示しない場合は0へ)
        'orderby' => 'ID',//ソート規則
    ));
?>
</ul>

2. 「get_categories」を使った場合の記述

get_categories」というテンプレートタグを使っても表示できます。
タグは自動で付与されないので任意のタグで組むことができます。

<ul>
<?php
    $cats = get_categories(array(
        'child_of' => '2',//※特定親のカテゴリーID
        'title_li' => '',//見出しをなしに
        'orderby' => 'ID',//ソート規則
    ));
    foreach($cats as $cat) {
    echo '<li><a href="' . get_category_link($cat->term_id) . '">' . $cat->name. '(' .$cat->count. ')</a></li>';
  }
?>
</ul>

※それぞれchild_of=”の部分に任意の親カテゴリーのIDを入力してください

リンクなしで表示させる場合

リンクなしで表示させたい場合は、「get_categories」を使いましょう。

<ul>
<?php
    $cats = get_categories(array(
        'child_of' => '2',//※特定親のカテゴリーID
        'title_li' => '',//見出しをなしに
        'orderby' => 'ID',//ソート規則
    ));
    foreach($cats as $cat) {
    echo '<li>'.$cat->name. '(' .$cat->count. ')</li>';
  }
?>
</ul>

まとめ

ちなみに以前に記載していた<?php wp_list_cats() ;?>は現在非推奨となりました。
ご質問などあればお気軽にコメントくださいね。

この記事へのコメント

  • 三船 より:

    はじめまして。
    勉強になります。ありがとうございます。

    恐れ入りますがもしよろしければ、
    下記について教えていただけますでしょうか?

    カテゴリページにて
    子カテゴリごとに下記のように表示させたいのですが、どのように記述すれば良いのでしょうか?

    ■カテゴリページ(寿司)
    盛合わせ(子カテゴリ名)

    松(記事タイトル)
    竹(記事タイトル)
    梅(記事タイトル)

    丼もの(子カテゴリ)

    海鮮丼(記事タイトル)
    うな丼(記事タイトル)

    恐れ入ります。
    よろしくお願いいたします。

  • ZIGZOW より:

    三船さんコメントありがとうございます。
    ご希望の表示は、ループを2つ記述することで可能ではあると思います。
    child_ofの値を、”盛り合わせ”と”丼もの”のそれぞれで設定ください。
    “カテゴリページ(寿司)”は、<a>タグなどで別途記述します。

    もしくは、1つのループで記述したいということであれば、下記リンクの記事『「get_categories」で親子階層でのカテゴリー一覧を表示する方法』を参考にしてみてください。
    https://zigzow.com/parentchildcatlist/

    うまくいかない場合はお気軽にご相談ください。

  • 三船 より:

    ZIGZOWさん、
    ご多忙のなか誠にありがとうございます。本当に助かります。
    外出中なので戻り次第、教えていただいた通りにやってみます!
    取り急ぎ御礼まで。

  • ZIGZOW より:

    いえいえ。検証ください。

コメントを残す



関連記事

ページの先頭に戻る