<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$loop = new WP_Query(
array(
'post_type' => 'html5-blank',
'posts_per_page' => 5,
'paged'=>$paged
)
);
?>
<?php if ($loop->have_posts()): while ($loop->have_posts()) : $loop->the_post(); ?>
//Loop Code Here..
<?php wp_reset_query(); ?>
<nav>
<?php previous_posts_link( 'Newer posts »' ); ?>
<?php next_posts_link('Older »') ?>
</nav>
<?php endwhile; ?>
<?php else: ?>
Url on next page as I input result is: www.mywebsite.com/blog/page/2 is WORKING.
But I can’t show the pagination links.
Where did it go wrong?
EDIT: Pagination link is showing in page/2/
but not in the main blog page.
Why?
There are 3 ways that I would suggest for pagination with a custom post wp_query. Unfortunately to this day there isn’t a lot of good information about this out there, or at least what is out there is unclear in some cases. Hopefully this helps!
Note, you also did have the wp_reset_postdata() in the wrong place, but even still more is needed to get it to work correctly.
Option 1 – use max_num_pages variable
You’ll see above, a slightly different format for
previous_posts_link
andnext_posts_link
which now access themax_num_pages
variable. Be sure to use your own query variable name when accessingmax_num_pages
. Notice I use $cpt_query since that is the variable for my query example.Option 2 – temporarily use the $wp_query variable for your loop query
This is what a lot of folks recommend, but be careful to asign the $wp_query variable to a temp variable and re-assign it or you will run in to all kinds of troubles. Which is why I recommend Option #1. As noted on CSS Tricks, you can do something like this:
Option 3 – use WP-pagenavi plugin
Just as another option what you can do instead is use the WP-pagenavi plugin, and setup your query as in Option #1. But make one change in the code, remove everything within the element and replace with this function, once you have installed the plugin. So you’ll end with:
I think you put
<?php wp_reset_query(); ?>
in the wrong place.. shouldn’t it be next or after pagination codes?something like this
This question was answered very adequately by @Trevor but I needed to implement numbered pagination, and there was a bit more research to do. I hope my code helps others implement numbered pagination.