web-dev-qa-db-ja.com

WordPressで親ページのすべての子ページを取得するにはどうすればよいですか?

例:

About
--- Menu 1
--- Menu 2
--- Menu 3
--- Menu 4

私が約ページにいる場合...私はサブページを持っています。ただし、メニュー1に入ると、すべてのページが消えます

私が必要としているのは、常に親ページを参照することです

現在私はこのコードを持っています

<? if (is_page()) {
    $g_page_id = $wp_query->get_queried_object_id();
    wp_list_pages("depth=4&title_li=&child_of=".$g_page_id."&sort_column=menu_order");
   }
?>

ありがとう!

解決済み

私はこれを使ってうまくいきます!

<?php if ( is_page() ) { ?>

                <?php
                if($post->post_parent)
                $children = wp_list_pages('title_li=&child_of='.$post->post_parent.'&echo=0'); else
                $children = wp_list_pages('title_li=&child_of='.$post->ID.'&echo=0');
                if ($children) { ?>

                <div class="title"><?php
                $parent_title = get_the_title($post->post_parent);
                echo $parent_title;
                ?><span></span></div>

                <ul>
                    <?php echo $children; ?>
                </ul>

                <?php } } ?>
10
krathos

どうぞ。著者にとっては少し遅れていますが、人々はまだ答えを求めてここに来るでしょう;-)

<?php 
// determine parent of current page
if ($post->post_parent) {
    $ancestors = get_post_ancestors($post->ID);
    $parent = $ancestors[count($ancestors) - 1];
} else {
    $parent = $post->ID;
}

$children = wp_list_pages("title_li=&child_of=" . $parent . "&echo=0");

if ($children) {
?>

    <ul class="subnav">
        <?php 
            // current child will have class 'current_page_item'
            echo $children; 
        ?>
    </ul>

<?php 
} 
?>
8
JosFabre