запросить только дочерние страницы, на page.php - PullRequest
0 голосов
/ 06 января 2012

Я делаю пользовательский запрос в WordPress для извлечения только дочерних страниц с идентификатором страницы № 20.

И отображается только на страницах с идентификатором # 20 , # 95 и # 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 (вне цикла главной страницы). И по какой-то причине данные страницы отображаются в моем запросе выше. Как я могу затянуть этот запрос выше, чтобы он не мешал другим циклам на странице. Я думаю, это потому, что у меня есть 2 <?php if ( have_posts()) : while (have_posts()) : the_post(); ?> в моем шаблоне page.php.

Мой следующий вопрос: правильно ли я написал этот запрос? Как кажется, список других страниц, кроме только дочерних страниц с идентификатором страницы №20?

Большое спасибо за помощь.

Josh

1 Ответ

0 голосов
/ 06 января 2012

как насчет чего-то вроде

<?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 () перечислить подстраницы родителя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...