2013-05-10 1 views
9

예 : 내가 페이지에 대한에있어 경우wordpress에서 부모 페이지의 모든 하위 페이지를 얻는 방법?

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

... 난 하위 페이지가 있습니다. 하지만, 메뉴에 입력하면 한 모든 페이지는 현재이 코드를

<? 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 } } ?> 
+1

다음에 검색을 시도해야한다. 이것을 시도하십시오 http://stackoverflow.com/questions/9190427/how-to-get-all-child-pages-of-a-page-by-the-parent-page-title-in-wordpress –

+0

이 코드는 나를 위해 일해, 나는 오류가있어. – krathos

답변

7

여기 있습니다. 저자를 위해 조금 늦었지만 사람들은 대답을 위해 여전히 여기에 올 것이다 .-

<?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 
} 
?> 
+2

'$ post-> post_parent'에 부모 ID가 이미 있습니다. 그래서'get_post_ancestors'를 사용하여 부모를 얻는 이유는 무엇입니까? –

관련 문제