我不认为自己是一个新手,我以前有过所有页面的循环工作,但现在我的页面模板上的一个自定义循环(用作网站的索引页面)不会显示“页面”列表。
<?php get_header(); ?>
<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?> // first I want to call the information for the page itself -- i\'ve tried removing this and it has no effect.
<div class="about"><?php the_content(); ?></div>
<?php endwhile;
wp_reset_query();
// end frontpage while ?>
<div id="featured" >
<ul class="ui-tabs-nav">
<li class="ui-tabs-nav-item ui-tabs-selected" id="nav-fragment-1"><a href="#fragment-1"><span>About the film festival</span></a></li>
<?php
$get_pages = ( //the loop to get all the pages on the site
array(
\'post_type\' => \'page\',
\'posts_per_page\' => -1,
));
query_posts( $get_pages );
if ( have_posts() ) while ( have_posts() ) : the_post();
?>
//这是我希望在每个页面上执行的操作,但除了页面之外,其他任何页面都会显示此操作
<li class="ui-tabs-nav-item" id="nav-fragment-2"><a href="#fragment-2"><span><?php the_title() ?></span></a></li>
<?php endwhile; //end pages while
wp_reset_query();
wp_reset_postdata(); ?>
我是否错过了一些重要的东西?有什么愚蠢的错误吗?我现在不知所措。在这里可能有用的任何东西。
最合适的回答,由SO网友:Chris_O 整理而成
这不是使用query\\u帖子的地方。仅当需要更改主循环时,才应使用query\\u posts。也不需要在两个循环上重置查询和缺少的endif。
我会使用get_pages 而不是运行新的WP\\u查询
$pages = get_pages();
foreach ( $pages as $page ) { ?>
<li class="ui-tabs-nav-item" id="nav-fragment-2"><a href="#fragment-2"><span><?php echo $page->post_title; ?></span></a></li>
<?php }
SO网友:Boone Gorges
没有什么东西会突然对我大错特错(虽然你在一些地方对括号的使用有点参差不齐),但使用query_posts()
像这样(一页两次wp_reset_query()
), 可能是某种相关的全球冲突导致了你的问题。尝试使用WP_Query
而是:
$page_args = array(
\'post_type\' => \'page\',
\'posts_per_page\' => -1,
));
$page_query = new WP_Query( $page_args );
if ( $page_query->have_posts() ) :
while ( $page_query->have_posts() ) :
the_post();
?>
<li class="ui-tabs-nav-item" id="nav-fragment-2"><a href="#fragment-2"><span><?php the_title() ?></span></a></li>
<?php
endwhile;
endif;