First rule of using
query_posts(): don’t. Use the ‘request’ filter instead.
Ever since I’ve taken over development of the WP-PageNavi plugin, I keep seeing people opening support topics like this:
“PageNavi doesn’t show the correct posts”
“Page numbers don’t work with PageNavi”
Most of the time, your theme is just using
So here is the correct way to make paging work using query_posts():
Say you have something like this:
or like this:
query_posts( array( 'cat' => 8 ) );
You just need to pass along the ‘paged’ query var from the main query:
query_posts( array( 'cat' => 8, 'paged' => get_query_var('paged') ) );
If that doesn’t work, you can also try passing the ‘page’ query var:
query_posts( array( 'cat' => 8, 'paged' => get_query_var('page') ) );
Also see the Codex page on query_posts().