Wordpress get_posts()一直返回相同的帖子

时间:2011-10-11 16:49:32

标签: php wordpress

我正在玩WordPress,而且我对PHP没有任何想法。 我试图使用WordPress的get_posts()函数获取一些随机帖子 我的代码是这样的

<?php
    args1 = array( 'numberposts' => 12 ,'orderby' => 'rand');
    $rand_posts1 = get_posts( $args1);
            foreach( $rand_posts1 as $randpost1 ) : ?> 
                <?php the_title(); ?>
                     <?php endforeach; ?>

但是这段代码只返回12次相同的帖子,这是最新的帖子。 我不知道我到底做错了什么。

任何人都可以帮我纠正错误或指出我的问题。

1 个答案:

答案 0 :(得分:6)

试试这个

       <?php
            $args1 = array( 'numberposts' => 12 ,'orderby' => 'rand');
            global $post;
            //save the current post
            $temp=$post;
            $rand_posts1 = get_posts( $args1);

            foreach( $rand_posts1 as $post ) ://yes this is required, we need $post in setup_postdata
                setup_postdata($post);    ?> 
                <?php the_title(); ?>

            <?php endforeach; 

            $post=$temp;//restore current page

            ?>

那就行了。 另请查看get_posts