Wordpress的'get_posts和分页无法正常工作

时间:2013-04-30 11:29:56

标签: wordpress pagination posts

我在页面模板中有一个看起来像这样的代码(显然我首先设置了类别的ID):

<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;         
global $post; 
$myposts = get_posts("cat=$catIDs&posts_per_page=12&paged=" . $paged);
?>
<div class="column-odd">
    <?php
        $i=1;
        foreach($myposts as $post) :
            if($i%2 != 0) :
                setup_postdata($post);
                //output odd post
            endif;
            $i++;
        endforeach;
    ?>
</div>
<div class="column-even">
    <?php
        $i=1;
        foreach($myposts as $post) :
            if($i%2 == 0) :
                setup_postdata($post);
                //output even post
            endif;
            $i++;
        endforeach;
    ?>
</div>

<nav>
    <ul>
        <?php
         if($link = get_previous_posts_link("« Poprzednia strona")) 
                echo '<li class="prev">'.$link.'</li>';
         if($link = get_next_posts_link("Następna strona »")) 
                echo '<li class="next">'.$link.'</li>';

        ?>
    </ul>
</nav>

问题是get_next_posts_link没有返回任何内容。我怎样才能使它发挥作用?

2 个答案:

答案 0 :(得分:4)

它不适用于get_posts。您需要使用query_posts。我认为它应该使用相同的论点。编辑:你还需要将它保存为$ myposts = query_posts(...),因为你正在使用这样的两个foreach循环。

答案 1 :(得分:0)

您只需添加以下行:

<?php query_posts('post_type=post&paged='. get_query_var('paged')); ?>

就在你的get_posts()循环开始之前。

全文:http://blog.onireon.it/wordpress-get_posts-and-pagination-posts-are-correctly-displayed-but-no-pagination-links-are-showing/