サポート » 使い方全般 » 親ページに、子ページ、孫ページなど全階層の内容を表示したい

  • 親ページに、子ページ、孫ページなど全階層の内容を表示したいと思っております。
    http://ja.forums.wordpress.org/topic/3335?replies=8
    http://ja.forums.wordpress.org/topic/6468?replies=4
    http://ja.forums.wordpress.org/topic/6468?replies=4
    など参考にしましたが全く解決しないのでお力をお貸しください。

    ページ構成例)
    ・日本
     ├・北海道
     │  ├・千歳
     │  ├・丘珠
     ├・関東
     │  ├・羽田
     │  ├・成田

    表示例)
    ■■■日本(タイトル)
    ■■北海道(タイトル)
    ■千歳(タイトル)
    内容内容内容内容内容…
    ■丘珠(タイトル)
    内容内容内容内容内容…
    ■■関東(タイトル)
    ■羽田(タイトル)
    内容内容内容内容内容…
    ■成田(タイトル)
    内容内容内容内容内容…

    申し訳ありませんが宜しくお願いします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • すごく簡単なことなのですが、どのようにしてみましたか?

    wp_list_page 関数だけでできると思うのですが。

    一番深い階層で「内容」を表示するというのがミソなのではないでしょうか。

    functions.php

    <?php
    function disp_page($pages,$depth)
    {
        foreach ($pages as $page) {
            $title = apply_filters( 'the_title', $page->post_title );
            $content = apply_filters( 'the_content', $page->post_content);
            $page_link = clean_url(get_page_link($page->ID));
    ?>
            <h4 class="depth-<?php echo $depth; ?>"><a href="<?php echo $page_link;?>"><?php echo $title;?></a></h4>
            <?php
                $child_pages = get_pages('hierarchical=0&child_of='.$page->ID);
                if (!empty($child_pages)) {
                    $depth++;
                    disp_page($child_pages,$depth);
                } else {
    ?>
                    <div class="article"><?php echo $content;?></div>
    <?php
                }
        }
    }
    ?>

    テンプレート

    <?php
        $pages = get_pages('parent=0&hierarchical=0');
        disp_page($pages,1);
    ?>

    h4 は適当に定義してください。
    h4.depth-1 {}
    h4.depth-2 {}
    h4.depth-3 {}

    注)必ず3階層構造というのなら、もう少し簡単になります。

    あっと、$depth のカウントアップの位置がダメでした。

    <?php
    function disp_page($pages,$depth)
    {
        $depth++; //■ここに移動
        foreach ($pages as $page) {
              :
        }
    }
    ?>
    <?php
        $pages = get_pages('parent=0&hierarchical=0');
        disp_page($pages,0);//■最初は 0
    ?>

    あぁ、なるほど。そういうことですね。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「親ページに、子ページ、孫ページなど全階層の内容を表示したい」には新たに返信することはできません。