# query_posts = [_your_doing_it_wrong][1] as soon as you throw in that nasty query_posts you are killing off all the global variables and your paging will not work. change: query_posts( array( 'post_type' => 'fieldtrips', 'fieldtripcategory' => 'elementary-school-aquifer', 'order' => 'ASC', 'posts_per_page' => 1 ) ); if ( have_posts() ) : while ( have_posts() ) : the_post(); to: $my_query = new WP_Query( array( 'post_type' => 'fieldtrips', 'fieldtripcategory' => 'elementary-school-aquifer', 'order' => 'ASC', 'posts_per_page' => 1 )); if ( $my_query->have_posts() ) : while ( $my_query->have_posts() ) : $my_query->the_post(); Also remove the wp_reset_query. [1]: https://wordpress.stackexchange.com/q/50761/251