如何调整这个wordpress循环查询代码以包含分页?

时间:2013-03-07 22:12:49

标签: foreach pagination wordpress

我已经提供了以下代码来查询我在Wordpress中的帖子,所有工作都按预期工作。

我现在想加入分页。我不想过多地改变代码,因为我知道它有效,任何人都可以建议最好的方法来适应这个包括分页吗?

我希望它显示最多18 posts per page并且nextprev links到其他页面(如果存在)。此代码正在自定义类别模板中使用,但我还在阅读设置下设置了静态页面设置,主帖子的显示使用了home.php,我想使用相同或类似的循环代码来分页。任何帮助表示赞赏。这是代码:

<div id="Items">
<ul>
<?php
// Grid sorted alphabetically
if (is_category('categoryName')) 
{
$args = array( 'posts_per_page' => -1, 'orderby'=> 'title', 'order' => 'ASC', 'category' => 41 );
$categoryNameposts = get_posts( $args ); 
}
foreach( $categoryNameposts as $post ) :    setup_postdata($post); 
?>
<li><?php get_template_part( 'content', get_post_format() ); ?></li>
<?php endforeach; ?>
</ul>
</div><!-- #ItemsEnd -->

1 个答案:

答案 0 :(得分:0)

你应该让wordpress知道你想在query_posts中每页显示多少帖子。用这两行替换你的$ args:

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array( 'posts_per_page' => 18, 'paged' => $paged, 'orderby'=> 'title', 'order' => 'ASC', 'category' => 41 );

现在显示下一个 - 上一个链接:

<div class="paginationClass">
   <?php next_posts_link(); ?>
   <?php previous_posts_link(); ?>
</div>

同样在is_category函数中,使用categorySlug而不是categoryName。