I have a problem with PageNavi
showing 126 pages (for 126 posts this part is almost correct), but instead of breaking it decreases by 10 (13 pages are expected), it shows all the messages on each page. If I change 'numberposts' => 5
, it displays the same 5.
Relevant Code:
<?php wp_pagenavi(); ?> <?php $args = array( 'category' => 7, 'numberposts' => -1); $allpost = get_posts( $args ); foreach($allpost as $post) : setup_postdata($post); ?> <p class="datelist"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></p> <?php endforeach; ?> <?php wp_pagenavi(); ?>
I canβt understand what happened.
Update (full code):
<?php get_header(); ?> <div id="container"> <div id="content" role="main"> <h1>something</h1> <?php $args = array( 'category' => 7, 'numberposts' => -1); $allpost = get_posts( $args ); foreach($allpost as $post) : setup_postdata($post); ?> <p class="datelist"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></p> <?php endforeach; ?> </div> </div> <?php get_footer(); ?>
Work code:
<?php get_header(); ?> <div id="container"> <div id="content" role="main"> <h1>something</h1> <?php global $paged; if (get_query_var( 'paged' )) $my_page = get_query_var( 'paged' ); else { if( get_query_var( 'page' ) ) $my_page = get_query_var( 'page' ); else $my_page = 1; set_query_var( 'paged', $my_page ); $paged = $my_page; } $args = array( 'cat=7', 'paged' => $my_page, 'posts_per_page' => 10 ); $my_query = new WP_Query( $args ); while ($my_query->have_posts()) : $my_query->the_post();?> <p class="datelist"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></p> <?php endwhile; wp_pagenavi( array( 'query' => $my_query ) ); wp_reset_query(); ?> </div> </div> <?php get_footer(); ?>
source share