自定义类别分页Wordpress

时间:2016-07-03 18:27:21

标签: php html wordpress pagination posts

我在WordPress的自定义模板页面上有一个自定义循环,显示来自特定类别的帖子。这一切都很好,并显示我需要的一切,但我最终需要添加一些分页。由于这是一个自定义循环,似乎本机WP'博客页面最多显示'不起作用。有没有办法在我的自定义循环中添加分页?

   <?php
    // add journal posts to the journal page
    query_posts( array ( 'category_name' => 'journals', 'posts_per_page' => -1 ) );
    ?>
    <?php
    // The Loop
    while ( have_posts() ) : the_post();
        echo '<div class="journal-posts">';
        echo '<h2 class="entry-title">';
        echo '<div><a href="'. esc_url( get_permalink() ) . '">' . sprintf(__( get_the_title() )) . '</a> <img src="http://localhost/website.co.uk/wp-content/themes/themename/images/icons/icon.png" alt="Icon Stuff"/></div>';
        echo '</h2>';
        echo '<span class="entry-meta">Posted on ';
        echo '<span class="date-link">';
        the_date();
        echo '</span>';
        echo ' by ';
        echo '<span class="author vcard"><a class="url fn n" href="' . esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ) . '">' . esc_html( get_the_author() ) . '</a></span>';
        echo '</span>';
        the_content();
        echo '</div>';
        endwhile; ?>
  <?php
  // Reset Query
  wp_reset_query();
?>

我为此站点调用了三个单独的类别,因此我需要在每个页面上都有这个自定义循环。除非有更好的方法吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

我认为关键是在查询中设置/使用$paged属性,如下所示:

$paged = ( get_query_var('page') ) ? get_query_var('page') : 1;
$query_args = array(
  'post_type' => 'post',
  'category_name' => 'tutorials',
  'posts_per_page' => 5,
  'paged' => $paged
);

这取自this articlethis question中的解释。