Obtendo apenas páginas filho diretas no WordPress com get_pages


20

Estou tentando buscar todos os filhos diretos de uma página. Mas estou recebendo todos os filhos e netos também. Alguma ideia?

Fonte 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 );
}

Meu $argsdeve estar correto de acordo com a documentação , mas é totalmente ignorante parente hierarchical.

A estrutura da minha página é a seguinte:

Pai -
Criança 1 -
Criança 2 -
Criança 1 para criança 2 -
Criança 2 para criança 2 -
Criança 3

E eu só quero pegar child 1, child 2e child 3.


Tente considerar a depthopção também. Outra solução que encontrei e parece estar funcionando é $mypages = get_pages('child_of='.$post->ID.'&sort_column=post_date&sort_order=desc&parent='.$post->ID); aqui que você pode alterar sort_columne sort_orderconforme a necessidade.
precisa

@RohitPande depthnão me ajudou em nada, definindo child_ofe parentda mesma forma.
Volker E.

Respostas:


12

Por favor, verifique o parâmetro 'pai'. Parece que existe um espaço após o nome.


Oh Deus. Tão estúpido. Mas obrigado, isso me salvou algum tempo. :)
jamietelin

3

Com o parâmetro 'depth' da função "wp_list_pages" ou "get_pages", podemos definir quantos níveis queremos recuperar. Então, aqui, exibirei todo o primeiro nível filho da página atual.

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

A função get_pages não parece ter um argumento de profundidade ou pelo menos não está documentada: developer.wordpress.org/reference/functions/get_pages .
kloddant 14/10
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.