WordPress自定义查询分页

时间:2009-11-18 22:59:40

标签: wordpress wordpress-plugin wordpress-theming

我有一个WordPress网站,在主页面上我列出了更多类别的内容。

我的问题是,是否有插件可以对某个类别的结果进行分页?我的意思是$this->plugin_paginate('category_id');或smth?

最诚挚的问候,

4 个答案:

答案 0 :(得分:1)

如果您正在使用标准的Wordpress循环,即使对于某个类别使用query_posts,分页也会自动使用通常的posts_nav_link。您是否尝试在同一页面上为多个查询和多个类别分页?

编辑11/20:我在一个页面的几个不同位置使用它来显示某个类别中的最新帖子:

<?php
$my_query = new WP_Query('category_name=mycategory&showposts=1');
while ($my_query->have_posts()) : $my_query->the_post();
?>
<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
<?php endwhile; ?>

然后该链接转到为该类别分页的类别页面:Category Templates « WordPress Codex

我不知道如何在同一页面上对不同类别进行分页。必须是可能的。也许在Wordpress forums中询问。

答案 1 :(得分:0)

这听起来像一个简单,格式正确的query_posts()调用可以做的事情。我怀疑你甚至需要依赖插件。 :)

我将假设你熟悉query_posts()函数,所以让我们继续使用这个例子作为基础:

// let's get the first 10 posts from category ID 3
query_posts('posts_per_page=10&cat=3');
while(have_posts()):the_post();
    // do Wordpress magic right here
endwhile;

现在,要从第3类(即NEXT 10帖子)获得第11到第20个帖子,我们将要使用query_posts()的[offset]参数:

// let's get the next 10 posts from category ID 3
query_posts('posts_per_page=10&cat=3&offset=10');
while(have_posts()):the_post();
    // do Wordpress magic right here
endwhile;

在大多数情况下,这应该足够了。但是,您确实提到您计划从主页单独分页类别帖子列表?我假设你的意思是你的主页上有多个类别的帖子列表,所有这些都是独立分页的。

有了类似的东西,看起来你必须使用Javascript来为你做一些工作,以及我上面说明的内容。

答案 2 :(得分:0)

我相信你可以这样做:

    <?php
        if(isset($_GET['paged'])){
            $page = $_GET['paged']-1;
        }else{
            $page = 0;
        }
        $postsPerPage = 5;
        $theOffset = $page*$postsPerPage;
    ?>
    <?php query_posts(array('posts_per_page' => $postsPerPage, 'cat' => CATEGORIES HERE, 'offset' => $theOffset)); ?>

答案 3 :(得分:0)

希望这会对你有所帮助:)

<?php
   $args = array(
  'post_type' => 'post',
  'posts_per_page' => 5,
  'paged' => $page,
  );

  query_posts($args);?>
?>