WP Query pentru a obține paginile copil ale paginii curente
Poate cineva să mă ajute cu wp_query.
Creez un fișier template/loop pentru a realiza o pagină de arhivă a paginilor copil ale paginii curente.
Această interogare trebuie să fie automată deoarece o folosesc pe mai multe pagini.
Aceasta este interogarea mea de mai jos, dar returnează doar articolele în loc de paginile copil.
<?php
$parent = new WP_Query(array(
'post_parent' => $post->ID,
'order' => 'ASC',
'orderby' => 'menu_order',
'posts_per_page' => -1
));
if ($parent->have_posts()) : ?>
<?php while ($parent->have_posts()) : $parent->the_post(); ?>
<div id="parent-<?php the_ID(); ?>" class="parent-page">
<h1><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h1>
<p><?php the_advanced_excerpt(); ?></p>
</div>
<?php endwhile; ?>
<?php unset($parent); endif; wp_reset_postdata(); ?>
Mulțumesc anticipat pentru ajutor.
Josh

Trebuie să schimbi child_of
în post_parent
și de asemenea să adaugi post_type => 'page'
:
WordPress codex Wp_query Parametrii Post & Pagină
<?php
$args = array(
'post_type' => 'page',
'posts_per_page' => -1,
'post_parent' => $post->ID,
'order' => 'ASC',
'orderby' => 'menu_order'
);
$parent = new WP_Query( $args );
if ( $parent->have_posts() ) : ?>
<?php while ( $parent->have_posts() ) : $parent->the_post(); ?>
<div id="parent-<?php the_ID(); ?>" class="parent-page">
<h1><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h1>
<p><?php the_advanced_excerpt(); ?></p>
</div>
<?php endwhile; ?>
<?php endif; wp_reset_postdata(); ?>

Știu că aceasta este o întrebare foarte veche, dar din moment ce am ajuns aici, alții ar putea face la fel.
WordPress are o soluție foarte simplă pentru listarea paginilor, unde poți adăuga și câteva argumente.
Ai nevoie doar de asta pentru a afișa paginile copil ale unei pagini:
wp_list_pages(array(
'child_of' => $post->ID,
'title_li' => ''
))
Consultă pagina de referință pentru wp_list_pages pentru toate opțiunile pe care le poți aplica.

Rescriind acest lucru într-o funcție în functions.php trebuie să adaugi global $post;
function page_summary() {
global $post;
$args = array(
'post_type' => 'page', // Tipul postării - pagină
'posts_per_page' => -1, // Toate paginile
'post_parent' => $post->ID, // Paginile copil ale paginii curente
'order' => 'ASC', // Ordine crescătoare
'orderby' => 'menu_order' // Sortează după ordinea din meniu
);
$parent = new WP_Query( $args );
if ( $parent->have_posts() ) :
while ( $parent->have_posts() ) : $parent->the_post(); ?>
<div id="parent-<?php the_ID(); ?>" class="parent-page">
<h1><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h1>
</div>
<?php
endwhile;
endif;
wp_reset_postdata(); // Resetează datele postului
}
