web-dev-qa-db-ja.com

Get_pagesを使用してWordPressで直接の子ページのみを取得する

ページの直接の子をすべて取得しようとしています。しかし、私はすべての子供たちと壮大な子供たちも同様に手に入れています。何か案は?

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ドキュメンテーション に従って正しくあるべきですが、parenthierarchicalを完全に無視しています。

私のページ構造は以下の通りです:


- 子供1
- 子供2
- 子供1から子供2
- 子供2から子供2
- 子供3

そして私はchild 1child 2およびchild 3を取得したいだけです。

20
jamietelin

パラメータ 'parent'を確認してください。名前の後にスペースがあるようです。

12
realloc

"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'
                ));
            ?>
3
Romain