WP_Query & Duplicate entries

时间:2018-11-15 作者:John Greco

我目前正在使用此代码,以便成功且无问题地获取我网站的最新三篇帖子:

$posts = get_posts( array( \'numberposts\' => 3 ) );
但我想切换到wp\\u查询。

我尝试了一个简单的wp\\U查询调用,以显示我网站上发布的最新3篇文章:

$args = array(
\'posts_per_page\' => 3
);
$posts = new WP_Query( $args );
并使用此PHP代码提供此wp\\U查询的输出:

<?php 
while ($posts -> have_posts()) : $posts -> the_post();
foreach( $posts as $p ): ?>
<?php the_title(); ?><br>
<?php endforeach; endwhile; ?>
但最终失败了。而不是具有以下输出列表:

First post title
Second post title
Third post title

我确实得到了以下输出列表:

First post titleFirst post titleFirst post titleSecond post titleSecond post titleSecond post titleThird post titleThird post titleThird post title

1 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

不应该有foreach 循环内部while. 这个while 在帖子上循环,这样就不需要其他帖子了foreach. 这个while 本文中的循环就是WordPress所称的“循环”。

有关辅助查询的循环,请参阅文档部分here.

因此,您的循环应该如下所示:

<?php while ( $posts->have_posts() ) : $posts->the_post(); ?>
    <?php the_title(); ?><br>
<?php endwhile; ?>

结束