WordPress_posts在WP_Query循环中

时间:2013-04-28 19:26:17

标签: wordpress loops

我有一个运行主循环的内容模板:

<?php while (have_posts()) : the_post(); ?>
<?php endwhile; ?>

在这个循环中,我创建了一个get_posts()

<?php 
$args = array(
 'posts_per_page' => '2',
 'category__in' => array(2),
 'post__not_in' => array(get_the_id()),
 'order'    => 'DESC'
);

$posts_array = get_posts($args);
if(isset($posts_array) && !empty($posts_array)) : foreach( $posts_array as $post ) :
?>
 some html
<?php endforeach; endif; ?>

这很有效,但是当我在foreach循环之外并且我调用get_the_id()时,ID返回的是foreach循环的最后一个,尽管文档状态get_posts()不应改变任何全局变量。

1 个答案:

答案 0 :(得分:1)

您正在覆盖global $post声明中The Loop中设置的foreach

foreach( $posts_array as $post )

使用其他变量名称,您不应该遇到问题:

foreach( $posts_array as $my_post )