我在wordpress中进行自定义查询,仅检索页面ID#20的子页面。
只有在ID #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模板文件上(主页循环外)。由于某种原因,页面数据正在我上面的查询中显示。如何收紧上面的查询,以免干扰页面上的其他循环。我想是因为我的page.php模板上有2 <?php if ( have_posts()) : while (have_posts()) : the_post(); ?>
。
我的下一个问题是,我是否正确地写了这个查询?因为它似乎列出了其他页面,而不仅仅是页面ID#20的子页面?
非常感谢您的帮助。
约什
答案 0 :(得分: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
?>
希望有帮助吗?中号..
回读帖子,我看到你试图使用query_posts函数查询它的页面,这取决于你想要在循环中显示的内容,你最好使用wp_list_pages()列出sub父母的页面。