サポート » 使い方全般 » カテゴリページで同一階層の他カテゴリ一覧を表示させたい

  • yacchi

    (@yacchi)


    カテゴリアーカイブページ(category.php)にて、同一階層の他のカテゴリを表示させたいと考えております。
    表示はカテゴリ名とそのリンク先のみで構いません。

    親カテゴリA
    ー子カテゴリA
    ーー孫カテゴリA
    ーー孫カテゴリB
    ーー孫カテゴリC
    ー子カテゴリB
    ー子カテゴリC
    親カテゴリB
    ー子カテゴリD
    -子カテゴリE
    ー子カテゴリF
    親カテゴリC
    ー子カテゴリG
    ー子カテゴリH
    ー子カテゴリI

    例えば、
    ・親カテゴリAのアーカイブページに、親カテゴリBと親カテゴリCを表示
    ・子カテゴリAのアーカイブページに、子カテゴリBと子カテゴリCを表示
    ・子カテゴリDのアーカイブページに、子カテゴリEと子カテゴリFを表示
    ・孫カテゴリAのアーカイブページに、孫カテゴリBと孫カテゴリCを表示
    という形を実現したいと考えております。

    「wp_list_categories」や「get_categories」で自分なりに四苦八苦したのですが、
    上記がどうしても実現できず、こちらで質問させていただきました。

    よろしくお願いいたします。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • jdbb

    (@jdbb)

    まず、get_queried_objectで現在表示されているカテゴリを取得します。
    どのように取得されているかはvar_dumpやprint_rで確認してください。

    その中のparentが今表示されているカテゴリの親のidになるので
    それを何らかの変数に入れた後に、get_categoriesでparentに指定すれば
    今表示されているカテゴリと同じ階層のカテゴリを取得できます。

    yacchi

    (@yacchi)

    jdbbさま、ご教授いただきありがとうございます!
    また返信に気づかずご返事が遅くなり申し訳ございません。

    WPの知識があまりなく自信ありませんが、
    教えていただいた内容を参考に、コードを書いて検証してみたいと思います。
    よろしくお願いいたします。

    jdbbさま、教えていただいた内容を参考に試行錯誤しましたが、実現できませんでした。
    最終的に行き着いたコードは以下になります。

    <?php $cat = get_queried_object(); ?>
    <?php $id = $cat -> parent; ?>
    <?php $list = get_categories( 'parent=' . $id ) ?>
        <ul class="category">
            <?php echo $list; ?>
        </ul>

    間違っている箇所がありましたら、ご教授いただけましたら有り難いです。
    何卒よろしくお願いいたします。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「カテゴリページで同一階層の他カテゴリ一覧を表示させたい」には新たに返信することはできません。