サポート » 使い方全般 » 子カテゴリー閲覧時の子カテゴリーリストの表示

  • 解決済 mylandshe_s

    (@mylandshe_s)


    はじめまして。wordpress初心者で簡単な質問で申し訳ありません。
    現在カテゴリーリストの表示で悩んでおります。

    【カテゴリー構成】
    ■Aカテゴリー(親)
    子カテゴリーなし

    ■Bカテゴリー(親)
    ーB-1(子カテゴリ)
    ーB-2(子カテゴリ)
    ーB-3(子カテゴリ)
    ーB-4(子カテゴリ)

    ■Cカテゴリー(親)
    子カテゴリーなし

    ■Dカテゴリー(親)
    子カテゴリーなし

    上記のようなカテゴリー構成において、下記のコードでBの親カテゴリーページを表示した場合、ちゃんと子カテゴリーがリスト表示されるのですが、そこからB-1やB-2というBの子カテゴリーページへ遷移すると、子カテゴリーのリストが消えてしまいます。

    親カテゴリーページ閲覧時と同様に、子カテゴリーページ閲覧時もそのページの子カテゴリーリストを表示させておきたいのですが、どのようにコードを追加すればよいでしょうか?
    どなたかお教えいただけないでしょうか?よろしくお願いします。

    <?php
    $children = get_category_children($cat); //現在のカテゴリが子カテゴリを持つかどうか判定する
    ?>

    <?php if ($children) : ?>
    <ul class=”snav01″>
    <?php wp_list_categories(‘title_li=&child_of=’.$cat); ?>

    <?php endif; ?>

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • モデレーター jim912

    (@jim912)

    $category = get_category( $cat );

    でカテゴリーのデータを取得できます。この $category の $category->parent で、親カテゴリーの term_id を取得できます。この $category->parent が 0の場合は、親カテゴリーがない(最上位のカテゴリー)となります。

    ご質問の場合は、$category->parent が 0の場合は、$cat を、それ以外の場合は、get_category_children、wp_list_category に適用している $cat の部分に、$category->parent の値が指定されるようにすれば実現できるかと思います。

    なお、上記の場合は、親子2階層のみの場合で、孫カテゴリーの存在など、階層数が不定の場合は、get_ancestors を使って最上位のカテゴリーを取得する必要があります。

    トピック投稿者 mylandshe_s

    (@mylandshe_s)

    >jim912さん
    さっそくご返答いただきましてありがとうございます!

    大変恐縮ながら、自身phpを勉強し始めたばかりで、ご返答の内容を具体的なコードで記述するとなればどのようなコードになりますでしょうか?

    階層数は以後、子カテゴリーまでとなっております。
    お手数おかけしまして申し訳ありませんがご教授願います。

    トピック投稿者 mylandshe_s

    (@mylandshe_s)

    みなさま、ご返答ありがとうございました。

    こちらで自己解決できましたので、解決済みとさせていただきます。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「子カテゴリー閲覧時の子カテゴリーリストの表示」には新たに返信することはできません。