2

我目前在我的模板上有这个代码:

<?php
$args = array( 'numberposts' => 5, 'orderby' => 'rand', 'post_status' => 'publish', 'offset' => 1);
$rand_posts = get_posts( $args );
foreach( $rand_posts as $post ) : ?>
<li><h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2><p><?php the_excerpt(); ?>
</p></li>
<?php endforeach; ?>
</ul>

代码的本质是从博客文章中生成随机文章列表。问题是,代码通过向不相关的博客文章显示错误的评论列表开始破坏我的评论部分。

在上面的链接中查看我的示例

要做的常识是删除我模板中的代码。我的问题是关于如何修复上面的代码以便我仍然可以使用它的任何想法?

4

1 回答 1

2

如果您使用 get_posts,并且需要覆盖 $post,则必须这样做:

<?php
global $post;
$tmp_post = $post;
$args = array( 'numberposts' => 5, 'orderby' => 'rand', 'post_status' => 'publish', 'offset' => 1);
$rand_posts = get_posts( $args );
foreach( $rand_posts as $post ) : ?>
    <li><h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2><p><?php the_excerpt(); ?>
    </p></li>
<?php endforeach; ?>
</ul>
<?php $post = $tmp_post; // reset the $post to the original ?>
于 2012-12-24T01:46:00.240 回答