WP_QUERY未重置,上次开机自检挂起

时间:2013-02-21 作者:wayne

我正在为自定义分类法创建wordpress查询。然而,我无法获得我查询的最后一篇帖子,无法转到永久链接。请有人能帮我把这个问题弄清楚吗,非常感谢。

<?php
/*
Template Name: taxonomy-slug
*/
?> 

<?php get_header(); ?>  

<?php $loop = new WP_Query( array( \'post_type\' => \'business\', \'town\' => \'cpt-cuisine\', \'posts_per_page\' => -1 ) ); ?>
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
     <ul data-role="listview" data-theme="c" data-inset="false">               
     <li>
     <a href="<?php the_permalink(); ?>">
     <img style="margin-left: 0px; height: 65px;" alt="sample" src="<?php the_field(\'business_logo\'); ?>" align="left"/>
     <h2><?php the_title(); ?></h2>
     <p><?php the_field(\'business_slogan\'); ?></p></a>
     </li>
     </ul>
<?php endwhile; ?>

<?php wp_reset_query(); ?>

<?php get_footer(); ?>
亲切的问候

2 个回复
SO网友:Chip Bennett

你不需要打电话wp_reset_query() 这里,因为您没有修改主查询。相反,请致电wp_reset_postdata().

你只需要打电话wp_reset_query() 通过修改主循环时query_posts() (无论如何,你不应该这样做,所以你永远不需要打电话wp_reset_query()).

但是new WP_Query(), 使用正确实例化的循环-即调用the_post() - 将踩踏$post 主查询的数据。所以,在关闭自定义之后WP_Query() 循环,调用wp_reset_postdata() 要还原$post 将数据发送到主查询。

SO网友:chifliiiii

尝试更改

<?php wp_reset_query(); ?>

<?php wp_reset_postdata(); ?>
作为codex 表示“在循环执行单独的查询后,此函数将$post全局还原为主查询中的当前post”

相反,wp\\u reset\\u query会销毁自定义循环上使用的前一个查询。

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post