我在页面模板中有一个看起来像这样的代码(显然我首先设置了类别的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
没有返回任何内容。我怎样才能使它发挥作用?
答案 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()循环开始之前。