2012-01-06 3 views
0

나는 페이지 ID # 20의 하위 페이지 만 검색하기 위해 wordpress에서 사용자 지정 쿼리를 만들고 있습니다. page.php에있는 쿼리 전용 페이지 어린이

# 20, # 95와 ID가있는 페이지에 표시 될 # 97

<?php if (is_page(array('20','95','97'))) /* RIDERS */ { query_posts(array(

    'post_type' => 'page', 

    'child_of' => 20, 

    'order' => 'DESC' 

)); } ?> 

<?php if (have_posts()) : while (have_posts()) : the_post(); ?> 

    <!-- my loop stuff here -->   

<?php endwhile; endif; wp_reset_query(); ?> 

내 첫 번째 문제는이 루프 내 page.php 템플릿 파일에 있다는 것입니다 (메인 페이지 루프 외부). 그리고 어떤 이유로 위의 쿼리에서 페이지 데이터가 표시되고 있습니다. 위의 쿼리를 페이지의 다른 루프와 간섭하지 않도록 어떻게 조이면됩니까? 내 page.php 템플릿에 2 <?php if (have_posts()) : while (have_posts()) : the_post(); ?>이 있기 때문에 생각합니다.

다음 질문은 내가이 쿼리를 올바르게 작성한 것입니까? 그것은 페이지 ID # 20의 아이들 페이지보다는 다른 페이지를 목록으로 만드는 것을 보이는가?

많은 도움을 주셔서 감사합니다.

조쉬

답변

0

얼마나 도움이

<?php 
// just show this on your selected pages.. 
if (is_page(array('20','95','97'))) /* RIDERS */ { 
    query_posts(array('post_type' => 
        'page','child_of' => 20, 
        'order' => 'DESC' 
        ) 
      ); 
    if (have_posts()) : while (have_posts()) : the_post(); 
?> 
    <!-- my loop stuff here --> 
<?php 
    endwhile; 
    else: 
?> 
    <h2>No Content</h2> 
<?php 
    endif; 
}else{ 
//else just show normal post 
    if (have_posts()) : while (have_posts()) : the_post(); ?> 
     <!-- my loop stuff here --> 
<?php 
    endwhile; 
    else: 
?> 
    <h2>No Content</h2> 
<?php 
    endif; 
} //end of normal post 
?> 

희망 같은 것을 어떻습니까? M ..

게시물을 다시 읽는 것만으로도 루프에 표시 할 내용에 따라 query_posts 함수를 사용하여 쿼리하려는 페이지가 표시됩니다. wp_list_pages()을 사용하여 하위를 나열하는 것이 좋습니다. 부모 페이지

+0

감사합니다. marty -이 기능이 작동했습니다. – Joshc