0
votes

I want to create blog page with recent posts and pagination. Code below shows recent posts but pagination doesn't want to work.

<?php get_header(); ?>
<div class="container clearfix">
<div id="content" class="clearfix">
<?php
   $postslist = get_posts('numberposts=-1&posts_per_page=5&order=DESC&orderby=date');
         foreach ($postslist as $post) :
            setup_postdata($post);
?>
<div class="entry">
    <div class="recent-post-thumbnail">
        <?php echo the_post_thumbnail($recent->ID, 'thumbnail'); ?>
    </div>
    <h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
    <?php the_excerpt(); ?>
    <h4><a href="<?php the_permalink(); ?>">More ></a></h4>
</div>
<?php endforeach; ?>
</div> <!-- end content -->
<div class="kreska-pion"></div>
<div class="sidebar">
    <?php get_sidebar(); ?>
</div>
</div>
<?php get_footer(); ?>
2

2 Answers

2
votes

numberposts=6 replace this with post_per_page and let me know if It worked .

<?php
    $postlist = get_posts( 'numberposts=-1&posts_per_page=5' );
    $posts = array();
    foreach ( $postlist as $post ) {
       $posts[] += $post->ID;
    }

    $current = array_search( get_the_ID(), $posts );
    $prevID = $posts[$current-1];
    $nextID = $posts[$current+1];
    ?>
    <?php
    foreach ( $posts as $post ) : setup_postdata( $post ); ?>
        <li>
            <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
        </li>
    <?php endforeach; 
    wp_reset_postdata();?>
    <div class="navigation">
    <?php if ( !empty( $prevID ) ): ?>
    <div class="alignleft">
    <a href="<?php echo get_permalink( $prevID ); ?>"
      title="<?php echo get_the_title( $prevID ); ?>">Previous</a>
    </div>
    <?php endif;
    if ( !empty( $nextID ) ): ?>
    <div class="alignright">
    <a href="<?php echo get_permalink( $nextID ); ?>" 
     title="<?php echo get_the_title( $nextID ); ?>">Next</a>
    </div>
    <?php endif; ?>
    </div><!-- .navigation -->
1
votes

I tried

<?php get_header(); ?>
<div class="container clearfix">
   <div id="content" class="clearfix">
<?php
      $args = array( 'post_per_page' = -1 );

      $query= new WP_Query( $args );
      var_dump( $query );
      // The 2nd Loop
      while ( $query->have_posts() ) {
          $query->the_post();
          echo '<li>' . get_the_title( $query->post->ID ) . '</li>';
      }

      // Restore original Post Data
      wp_reset_postdata();        
    ?>
<div class="vertical"></div>
   <div class="sidebar">
     <?php get_sidebar(); ?>
   </div>
</div>
<?php wp_pagenavi(); ?>
<?php get_footer(); ?>

But it shows a blank page.

EDIT: Here's what I did:

<?php get_header(); ?>
<div class="container clearfix">
<div id="content" class="clearfix">
<?php
$args = array( 'post_per_page' = -1 );
$query= new WP_Query( $args );
var_dump( $query );
wp_reset_postdata();
?>
<div class="vertical"></div>
<div class="sidebar">
<?php get_sidebar(); ?></div>
</div>
<?php wp_pagenavi(); ?>
<?php get_footer(); ?>

And it shows a blank page.