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

在此先感谢您的帮助。

乔希


尝试这种解决方案==获得后的孩子- wordpress.stackexchange.com/a/123143/42702
T.Todua

Answers:


70

您必须更改child_ofpost_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的查询默认会发布吗?当它允许我时,我会接受答案。
2012年

是,'post_type' => 'post'是默认设置。
mrwweb
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.