Index: link-template.php
===================================================================
--- link-template.php	(revision 47026)
+++ link-template.php	(working copy)
@@ -1040,11 +1040,11 @@
  *
  * @since 3.1.0
  *
- * @param string  $link   Optional. Anchor text. If empty, default is 'Edit This'. Default empty.
- * @param string  $before Optional. Display before edit link. Default empty.
- * @param string  $after  Optional. Display after edit link. Default empty.
- * @param WP_Term $term   Optional. Term object. If null, the queried object will be inspected. Default null.
- * @param bool    $echo   Optional. Whether or not to echo the return. Default true.
+ * @param string $link   Optional. Anchor text. If empty, default is 'Edit This'. Default empty.
+ * @param string $before Optional. Display before edit link. Default empty.
+ * @param string $after  Optional. Display after edit link. Default empty.
+ * @param object $term   Optional. Term object. If null, the queried object will be inspected. Default null.
+ * @param bool   $echo   Optional. Whether or not to echo the return. Default true.
  * @return string|void HTML content.
  */
 function edit_term_link( $link = '', $before = '', $after = '', $term = null, $echo = true ) {
@@ -2637,14 +2637,23 @@
  *     @type string $screen_reader_text Screen reader text for the nav element.
  *                                      Default 'Posts navigation'.
  *     @type string $aria_label         ARIA label text for the nav element. Default 'Posts'.
+ *     @type int $max_num_pages			Optional custom WP_Query->max_num_pages.
+ * 										Default $GLOBALS['wp_query']->max_num_pages
  * }
  * @return string Markup for posts links.
  */
 function get_the_posts_navigation( $args = array() ) {
+	
 	$navigation = '';
-
+	
+	// Use global if no $max_num_pages provided
+	if( ! isset( $args['max_num_pages'] ) ) {
+		$args['max_num_pages'] = $GLOBALS['wp_query']->max_num_pages;
+	}
+	
 	// Don't print empty markup if there's only one page.
-	if ( $GLOBALS['wp_query']->max_num_pages > 1 ) {
+	if ( $args['max_num_pages'] > 1 ) {
+		
 		// Make sure the nav element has an aria-label attribute: fallback to the screen reader text.
 		if ( ! empty( $args['screen_reader_text'] ) && empty( $args['aria_label'] ) ) {
 			$args['aria_label'] = $args['screen_reader_text'];
@@ -2661,7 +2670,7 @@
 		);
 
 		$next_link = get_previous_posts_link( $args['next_text'] );
-		$prev_link = get_next_posts_link( $args['prev_text'] );
+		$prev_link = get_next_posts_link( $args['prev_text'], $args['max_num_pages'] );
 
 		if ( $prev_link ) {
 			$navigation .= '<div class="nav-previous">' . $prev_link . '</div>';
@@ -2701,14 +2710,22 @@
  *     @type string $screen_reader_text Screen reader text for navigation element.
  *                                      Default 'Posts navigation'.
  *     @type string $aria_label         ARIA label text for the nav element. Default 'Posts'.
+ *     @type int $max_num_pages			Optional custom WP_Query->max_num_pages.
+ * 										Default $GLOBALS['wp_query']->max_num_pages
  * }
  * @return string Markup for pagination links.
  */
 function get_the_posts_pagination( $args = array() ) {
+	
 	$navigation = '';
+	
+	// Use global if no $max_num_pages provided
+	if( ! isset( $args['max_num_pages'] ) ) {
+		$args['max_num_pages'] = $GLOBALS['wp_query']->max_num_pages;
+	}
 
 	// Don't print empty markup if there's only one page.
-	if ( $GLOBALS['wp_query']->max_num_pages > 1 ) {
+	if ( $args['max_num_pages'] > 1 ) {
 		// Make sure the nav element has an aria-label attribute: fallback to the screen reader text.
 		if ( ! empty( $args['screen_reader_text'] ) && empty( $args['aria_label'] ) ) {
 			$args['aria_label'] = $args['screen_reader_text'];
@@ -2722,6 +2739,7 @@
 				'next_text'          => _x( 'Next', 'next set of posts' ),
 				'screen_reader_text' => __( 'Posts navigation' ),
 				'aria_label'         => __( 'Posts' ),
+				'total'				 => $args['max_num_pages'],
 			)
 		);
 
