запрос wp для получения дочерних страниц текущей страницы

32

Может кто-нибудь, пожалуйста, помогите мне с wp_query.

Я делаю шаблон файла / цикла для создания и архивирования страницы текущей страницы дочерних страниц.

Этот запрос должен быть автоматическим, поскольку я использую его на нескольких страницах.

Это мой запрос ниже, но он просто возвращает мои сообщения вместо дочерних страниц.

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

Заранее благодарю за любую помощь.

мистифицировать

Joshc
источник
Попробуйте это решение == получить детей из поста - wordpress.stackexchange.com/a/123143/42702
T.Todua

Ответы:

70

Вы должны изменить child_ofк , post_parentа также добавить post_type => 'page':

WordPress codex Wp_query Параметры публикации и страницы

<?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(); ?>
Понт Абрахамссон
источник
1
Спасибо, чувак, я попробовал post_parentоригинал, но это то, 'post_type' => 'page'что ключ - WordPress Querys по умолчанию отправлять тогда? Я приму ответ, когда он позволит мне.
Джошк
Да, 'post_type' => 'post'по умолчанию.
mrwweb