[WordPress] 子ページは子ページ上に既に場合ループします。

スポンサーリンク

Question

プロパティ サイト、親は、開発し、子供たちは、開発中のプロットをある

開発ページにその開発のすべての子ページ (印刷ページ) を表示する次のコードを使用します

 'property',
        'posts_per_page' => -1,
        'post_parent'    => $post->ID,
        'orderby'       => 'plot_number',
        'order'         => 'ASC'
     );     
    $parent = new WP_Query( $args );    
    if ( $parent->have_posts() ) :  
    ?>
        have_posts() ) : $parent->the_post(); ?>

        //CONTENT GOES HERE

        
    

同じこと (のすべての子ページ開発) を表示するが、自分自身の子ページします。本質的に私は確認のページがあるかどうか、親子供ページ. をループする必要があります

任意のアイデアですか?

答え

わずかな変更の 1 つで、上記として正確な同じクエリを使用できます。1 つだけ注意してください前に続けて、

WP_Query

を使用する場合は、する必要があります使用する

wp_reset_postdata()

wp_reset_query()

。後者を使用

query_posts

といずれかの場合に、使用 しないで ください

ポストの親を取得する

$post->post_parent

を使用することができます。現在のページの親の ID が返されます。ID を返す場合

0

、これが最上位ページであることを意味します。

$post->post_parent

がないかどうかを確認したいもように

0

戻る前に、クエリまたはを実行しているだろうすべての記事に関係なく、現在のページがページの場合、最上位レベル

post_parent ) {

    $args = array(
        'post_type'      => 'property',
        'posts_per_page' => -1,
        'post_parent'    => $post->post_parent,
        'orderby'       => 'plot_number',
        'order'         => 'ASC'
     );     
    $parent = new WP_Query( $args );    
    if ( $parent->have_posts() ) :  
    ?>
        have_posts() ) : $parent->the_post(); ?>

        //CONTENT GOES HERE

        
    

ちょうど今、拾ってきた他の 1 つの事前

endif

wp_reset_postdata()

を使用する必要がありますが

endwhile

http://stackoverflow.com/questions/27840024/loop-through-child-pages-when-already-on-a-child-page

スポンサーリンク

Leave a Reply