サポート » 使い方全般 » その親カテゴリに属する子カテゴリをリスト表示させる方法

  • 解決済 snnww930

    (@snnww930)


    235durhamさんが同じ投稿しておりましたが、解決出来ませんでしたので再度投稿させて下さい。

    ●親カテゴリページに、それに属する子カテゴリをリスト表示させる方法
    ●子カテゴリページに、その子カテゴリと同じ親カテゴリを持つ全ての子カテゴリをリスト表示させる方法を探しています。

    現状は下記の用に2階層となっております。

    ●現在あるカテゴリ例は次の通りです。
    親カテゴリA
     └子カテゴリAa
     └子カテゴリAb
     └子カテゴリAc
     └子カテゴリAd
     └子カテゴリAe
    親カテゴリB
     └子カテゴリBa
     └子カテゴリBb
     └子カテゴリBc
     └子カテゴリBd
    親カテゴリC
     └子カテゴリCa
     └子カテゴリCb

     トップページには親カテゴリのみ(親カテゴリA、親カテゴリB、親カテゴリC)をリスト表示させたて、

    1階層目(親カテゴリA、親カテゴリB、親カテゴリC)のカテゴリに進んだ時にはそのカテゴリの子カテゴリのみ表示
    例えば、「親カテゴリAをクリックしたあと、遷移先ページの一番上に、それに属する子カテゴリのタイトル(
     ・子カテゴリAa
     ・子カテゴリAb
     ・子カテゴリAc
     ・子カテゴリAd
     ・子カテゴリAe
    のように表示させて

    2階層目(子カテゴリAa、子カテゴリAb、子カテゴリAc・・)のカテゴリに進んだ時にはその現在と同じカテゴリの表示
    例えば、「子カテゴリAaをクリックしても、遷移先ページに進んででも、上階層の親カテゴリに属する子カテゴリのタイトル(
     ・子カテゴリAa
     ・子カテゴリAb
     ・子カテゴリAc
     ・子カテゴリAd
     ・子カテゴリAe
    のようにここでは変わらない用にさせたいです。

    235durhamさんの投稿で下記までたどり着いたのですが、この方法だと、「子カテゴリページに、その子カテゴリと同じ親カテゴリを持つ全ての子カテゴリをリスト表示させる」ができません。
    だれか教えて頂けないでしょうか?
    宜しくお願いします。

    <?php
    $cat_id = get_query_var('cat');
    $children = wp_list_categories('title_li=&child_of='.$cat_id.'&echo=0');
    if ($children != "<li>カテゴリーなし</li>")
    if ($children != "<li>No categories</li>") { ?>
    <h2><?php single_cat_title(); ?></h2>
    <ul>
    <?php echo $children; ?>
    </ul>
    <?php } ?>
5件の返信を表示中 - 1 - 5件目 (全5件中)
  • $cat = get_category(get_query_var('cat'));
    $id = $cat->category_parent ? $cat->category_parent : $cat->cat_ID;
    $children = wp_list_categories('echo=0&title_li=&child_of=' . $id);
    /* 以降の処理はお好みで */

    kzさん有難うございます。

    <?php
    $cat = get_category(get_query_var('cat'));
    $id = $cat->category_parent ? $cat->category_parent : $cat->cat_ID;
    $children = wp_list_categories('echo=0&title_li=&child_of=' . $id);
    if ($children != "<li>カテゴリーなし</li>")
    if ($children != "<li>No categories</li>") { ?>
    <h2><?php single_cat_title(); ?></h2>
    <ul>
    <?php echo $children; ?>
    </ul>
    <?php } ?>

    に変更で解決です有難うございます。
    あと一点変更を加えたいのですが、
    <h2><?php single_cat_title(); ?></h2>
    の部分が2階層目に行った時に変更してしまします。
    ここも変更しないようにしたいのですが、どのようにすれば宜しいですか?
    宜しくお願いします。

    未検証
    <h2><?php echo get_category($id)->cat_name; ?></h2>

    すごい!!出きました。
    本当に有難うございます感謝致します。
    解決済みにさせて頂ます。

    私も同じことがしたいのですが
    このコードはどのファイルに
    記述すればいいのでしょうか?

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「その親カテゴリに属する子カテゴリをリスト表示させる方法」には新たに返信することはできません。