随机发布毁了我的Wordpress评论部分

时间:2012-12-24 01:05:59

标签: php wordpress plugins

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

<?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>

代码的本质是生成Random post from博客帖子的列表。问题是,代码开始破坏我的评论部分,向不相关的博客帖子显示错误的评论列表。

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

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

1 个答案:

答案 0 :(得分: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 ?>