get_pages를 사용하여 WordPress에서 직접 하위 페이지 가져 오기


20

페이지의 모든 직접적인 자식을 가져 오려고합니다. 그러나 나는 모든 어린이들과 손자녀들도 받고 있습니다. 어떤 아이디어?

PHP 소스 :

$args = array( 
        'child_of' => $post->ID, 
        'parent ' => $post->ID,
        'hierarchical' => 0,
        'sort_column' => 'menu_order', 
        'sort_order' => 'asc'
);
$mypages = get_pages( $args );

foreach( $mypages as $post )
{

$post_tempalte = the_page_template_part();

get_template_part( 'content' , $post_tempalte );
}

내가 $args에 따라 정확해야 문서 ,하지만 완전히 무시하는 것 parent하고 hierarchical.

내 페이지 구조는 다음과 같습니다.

부모
-Child 1
-Child 2
--Child 1 자녀 2
--Child 2 아이 2
-Child 3

그리고 난 단지 싶어 child 1, child 2하고 child 3.


depth옵션도 고려하십시오 . 내가 발견하고 작동하는 것 같군 또 다른 솔루션은 $mypages = get_pages('child_of='.$post->ID.'&sort_column=post_date&sort_order=desc&parent='.$post->ID); 사용자가 변경할 수있는 여기 sort_columnsort_order필요에 따라.
Rohit Pande

@RohitPande depth는 설정 child_ofparent동일하게 전혀 도움이되지 않았습니다 .
Volker E.

답변:


12

'parent'매개 변수를 확인하십시오. 이름 뒤에 공백이있는 것 같습니다.


오 세상에 너무 멍청 해 그러나 시간을 절약 해 준 감사합니다. :)
jamietelin

3

"wp_list_pages"또는 "get_pages"함수의 'depth'매개 변수를 사용하여 검색 할 레벨 수를 정의 할 수 있습니다. 여기에 현재 페이지의 첫 번째 하위 레벨을 모두 표시합니다.

            <?php global $post;
                    wp_list_pages( array(
                    'child_of' => $post->ID, // Only pages that are children of the current page
                    'depth' => 1 ,   // Only show one level of hierarchy
                    'sort_order' => 'asc'
                ));
            ?>

get_pages 함수에 깊이 인수가없는 것 같거나 최소한 문서화되어 있지 않습니다 ( developer.wordpress.org/reference/functions/get_pages) .
클로드 런트
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.