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

时间:2013-09-30 10:52:50

标签: php wordpress

我有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();

1 个答案:

答案 0 :(得分:0)

使用 paginate_link 并参考 this question

中的回答
<?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();

          ?>