通过分页获取所有类别的所有帖子


get all posts from all categories with pagination

我有 50 个类别,每个类别有 100 个帖子。 我有一个页面模板,在此页面上,我想显示包含 5-5 个帖子但分页的类别。我已经使用了下面的代码,但没有任何分页,也没有发现任何帖子,只有类别名称。

$args = array(
'type'                     => 'post',
'child_of'                 => 0,
'parent'                   => '',
'orderby'                  => 'ID',
'order'                    => 'ASC',
'hide_empty'               => 1,
'hierarchical'             => 1,
'exclude'                  => '',
'include'                  => '',
'number'                   => '',
'taxonomy'                 => 'category',
'pad_counts'               => false 
);
$categories = get_categories($args);
foreach($categories as $category){ $catId[] = $category->term_id; }
$catId_comma_separated = implode(",", $catId);      
$myposts = get_posts(array('numberposts' => 5, 'offset' => 0, 'cat' => $catId_comma_separated, 'post_status'=>'publish', 'order'=>'ASC' ));
query_posts( "cat = $catId_comma_separated");
while ( have_posts() ) : the_post();
echo '<li>';
    the_title();
    echo '</li>';
endwhile;
// Reset Query
wp_reset_query();
custom_pagination();

使用 paginate_link 并且确实从这个问题中引用了这个答案

<?php
$catPost = get_posts('cat=3&posts_per_page=-1'); //change this
   foreach ($catPost as $post) : setup_postdata($post); ?>
<h1><a>"><?php the_title(); ?></a></h1>
    <?php the_excerpt(); ?> 
<p class="postinfo">Written by: <?php the_author_posts_link(); ?>
Posted on: <?php the_time('F j, Y'); ?> at <?php the_time('g:i a'); ?>
Categories: <?php the_category(', '); ?></p>
<hr />
<?php  endforeach;?>

或者试试这个

<?php
// The Query
query_posts( array ( 'category_name' => 'your_category_name', 'posts_per_page' => -1 ) );
    // The Loop
    while ( have_posts() ) : the_post();
        echo '<h1>';
        the_title();
        echo '</h1>';
        the_excerpt();
        echo ' <p class="postinfo">Written by: ';
        the_author_posts_link();
        echo 'Posted on '
        the_date();
        echo 'Categories: '
        the_category(', ');
        echo '</p>';
        endwhile; ?>
          <?php
          // Reset Query
          wp_reset_query();
          ?>