wp query, um untergeordnete Seiten der aktuellen Seite abzurufen

32

Kann mir bitte jemand bei der wp_query helfen.

Ich erstelle eine Vorlagendatei / -schleife, um eine Seite der aktuellen untergeordneten Seiten zu erstellen und zu archivieren.

Diese Abfrage muss automatisch erfolgen, da ich sie auf einigen Seiten verwende.

Dies ist meine Abfrage unten, aber sie gibt nur meine Beiträge anstelle von untergeordneten Seiten zurück.

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

Vielen Dank im Voraus für jede Hilfe.

Josh

Joshc
quelle
Versuchen Sie diese Lösung == Kinder von einem Post - WordPress.StackExchange.com/a/123143/42702
T.Todua

Antworten:

70

Sie müssen sich ändern child_ofzu post_parentund auch hinzufügen post_type => 'page':

WordPress-Codex Wp_query Post & Page-Parameter

<?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(); ?>
Pontus Abrahamsson
quelle
1
Danke Alter, ich habe das post_parentOriginal ausprobiert, aber 'post_type' => 'page'das ist der Schlüssel. Wird dann standardmäßig von WordPress abgefragt? Ich werde eine Antwort annehmen, wenn es mir erlaubt.
Joshc
Ja, 'post_type' => 'post'ist Standard.
Mrwweb