• 解決済 mygwdisk

    (@mygwdisk)


    (先ほど同様の投稿をしたのですがタイトルが空欄になってしまったので、再投稿させてください)

    表題の通り、カテゴリアーカイブページ(category.php)に、
    現在のカテゴリの「直下」のカテゴリ名一覧を表示させたいです。

    最下部に自分が書いたコードを載せました。これだと、get_category_children関数が孫カテゴリ、ひ孫カテゴリ、、、、、
    まで取得してしまうようで、直下のカテゴリだけを取得して表示させるにはどうすればいいのでしょうか?

    以上、よろしくお願い申し上げます。

    p.s.

    https://ja.forums.wordpress.org/topic/5419?replies=3

    に、

    <ul>
    <?php wp_list_categories( 'title_li=&depth=1&child_of=' . get_query_var( 'cat' ) ); ?>
    </ul>

    と書いてあったのですが、

    これを書いてみたら「カテゴリーなし」と表示されてしまいます。
    実際にぶら下がっているカテゴリが存在することはなんども確認しました。

    <?php
    //********************************************************************
    ?>
    <?php
    /* 現在のカテゴリ-の取得 */
    $cat_now = get_the_category();
    $cat_now = $cat_now[0];
    /*現在のカテゴリーIDの取得*/
    $now_id = $cat_now->cat_ID;
    
    //子カテゴリIDを全て取得し、配列に入れる
    $catChildren = get_category_children($now_id);
    
    $catIDs = explode('/',$catChildren);
    array_shift($catIDs);
    sort ($catIDs);
    ?>
    
    <ul id="catChild">
    <?php
    //ループしてHTMLを作成
    for($i=0; $i<count($catIDs); $i++) {
    $cats=get_category($catIDs[$i]);
    ?>
    <li>
    <a href="<?php echo get_category_link($catIDs[$i]); ?>">
    <?php echo get_catname($catIDs[$i]); ?></a>
    </li>
    <?php } ?>
    </ul>
    <?php
    //********************************************************************
    ?>
3件の返信を表示中 - 1 - 3件目 (全3件中)
3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「カテゴリアーカイブページに直下カテゴリ一覧を表示」には新たに返信することはできません。