WordPress get_posts问题;添加类别参数似乎使numberposts无效

时间:2010-11-03 19:53:58

标签: wordpress

我有两个不同的get_posts函数,如下所示:

<!-- Begin Left Middle -->
    <div id="leftmiddle">
        <h1><a href="/category/recent-cases">Recent Cases</a></h1>
        <?php
            global $post;
            $postslist = get_posts('category=5&numberposts=2');
            foreach ($postslist as $post) : 
                setup_postdata($post);
        ?> 
            <div id="latest_post">
                <span class="theme date"><?php the_date(); ?></span>
                <br />
                <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>  
                <?php the_excerpt(); ?>
            </div>
        <?php endforeach; ?>       
    </div>
<!-- End Left Middle -->

<!-- Begin Right Middle -->
    <div id="rightmiddle">
        <h1><a href="/blog">Latest Posts</a></h1>
        <?php
            $postslist = get_posts('numberposts=2&order=DESC&orderby=date&category=-5');
            foreach ($postslist as $post) : 
                setup_postdata($post);
        ?> 
            <div id="latest_post">
                <span class="theme date"><?php the_date(); ?></span>
                <br />
                <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>  
                <?php the_excerpt(); ?>
            </div>
        <?php endforeach; ?>

    </div>
<!-- End Right Middle -->

现在在 rightmiddle 中,它按预期完成所有操作;仅列出不属于类别5的两个最新帖子。但是,在 leftmiddle 中,它会列出类别5中的所有帖子。如果我删除 leftmiddle中的类别参数或者我将其更改为 rightmiddle 中的否定参数,numberposts按预期工作。那是为什么?

1 个答案:

答案 0 :(得分:2)

尝试使用两个不同的变量名称来保存您对get_posts()的调用的返回值。现在您使用相同的变量名$postslist。它们可能会干扰,这就是 rightmiddle 中最后一次调用的原因。

您也在左侧声明global $post,但不是正确的。