custom posts archive pagination links /page/2/ ends up in 404
You should not be using WP_Query in this context. WordPress has already queried the correct posts for that archive with the main query, and you only need to use the basic loop to display them: if ( have_posts() ) { while ( have_posts() ) { the_post(); // Post markup here. }; };