サポート » 使い方全般 » 選択固定ページ内に設置するページリスト(子、孫、ひ孫ページ)の出力

  • 解決済 k_hokk

    (@k_hokk)


    はじめまして。この度はお世話になります。

    現在3.4.2を使用しサイトを構築しています。

    固定ページに、リンク有りのページリストを下記の仕様で設置しようと思うのですが、どうしても上手くいかなかったのでご質問させていただきました。

    たとえば固定ページが、下記のような親・子・孫関係のページ構造になっているとします。
    ※下記親子関係のセットは複数あります。


    -子1
    –孫1-1
    —ひ孫1-1-1
    —ひ孫1-1-2
    –孫1-2
    —ひ孫1-2-1
    —ひ孫1-2-2
    –孫1-3
    —ひ孫1-3-1
    —ひ孫1-3-2

    -子2
    –孫2-1
    —ひ孫2-1-1
    —ひ孫2-1-2
    –孫2-2
    —ひ孫2-2-1
    —ひ孫2-2-2
    –孫2-3
    —ひ孫2-3-1
    —ひ孫2-3-2

    -子3
    –孫3-1
    —ひ孫3-1-1
    —ひ孫3-1-2
    –孫3-2
    —ひ孫3-2-1
    —ひ孫3-2-2
    –孫3-3
    —ひ孫3-3-1
    —ひ孫3-3-2


    実現したいのは、下記のようなページリストの出力方法です。

    (1)子1にいる場合
    -子1
    –孫1-1
    –孫1-2
    –孫1-3(子1の孫すべて出力)
    -子2
    -子3


    (2)孫1-1にいる場合
    -子1
    –孫1-1
    —ひ孫1-1-1
    —ひ孫1-1-2(孫1-1のひ孫すべて出力)
    –孫1-2
    –孫1-3(子1の孫すべて出力)
    -子2
    -子3


    (3)ひ孫1-1-1にいる場合
    -子1
    –孫1-1
    —ひ孫1-1-1
    —ひ孫1-1-2(孫1-1のひ孫すべて出力)
    –孫1-2
    –孫1-3(子1の孫すべて出力)
    -子2
    -子3


    ※子1、子2・・・にいる場合も上記方法と同様の出力となります

    こちらのトピックス http://ja.forums.wordpress.org/topic/1056 が近いかと思い試したのですが実現できませんでした。

    どうかご教授いただけますと幸いです。

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

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

    (@jim912)

    こんな感じで。

    <?php
    if ( is_page() && count( $post->ancestors ) ) :
    	$includes = array();
    	$current_children = get_children( 'post_status=publish&post_type=page&post_parent=' . $post->ID );
    	if ( $current_children ) {
    		foreach ( $current_children as $current_child ) {
    			$includes[] = $current_child->ID;
    		}
    	}
    	foreach ( $post->ancestors as $ancestor_id ) {
    		$ancestor_children = get_children( 'post_status=publish&post_type=page&post_parent=' . $ancestor_id );
    		foreach ( $ancestor_children as $ancestor_child ) {
    			$includes[] = $ancestor_child->ID;
    		}
    	}
    ?>
    <ul>
    	<?php wp_list_pages( array( 'title_li' => '', 'include' => $includes ) ); ?>
    </ul>
    <?php endif; ?>

    jim912様

    ありがとうございます!さっそく試させていただいたところ、理想通りの表示ができました。

    色々と検索したのですがなかなか答えにたどり着けなかったので大変感謝しております。

    どうもありがとうございました!

    解決済みとさせていただきます。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「選択固定ページ内に設置するページリスト(子、孫、ひ孫ページ)の出力」には新たに返信することはできません。