From 473324326d01aa8caa1291f023d264340b120270 Mon Sep 17 00:00:00 2001 From: John Blackbourn Date: Thu, 20 Nov 2014 15:19:24 +0000 Subject: [PATCH] Improvements to the output of the new post navigation template functions, including swapping the position of the previous and next links. See #29808 Props obenland Built from https://develop.svn.wordpress.org/trunk@30457 git-svn-id: http://core.svn.wordpress.org/trunk@30448 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/link-template.php | 83 +++++++++++++---------------------- wp-includes/version.php | 2 +- 2 files changed, 32 insertions(+), 53 deletions(-) diff --git a/wp-includes/link-template.php b/wp-includes/link-template.php index c603eddbd5..86b678589e 100644 --- a/wp-includes/link-template.php +++ b/wp-includes/link-template.php @@ -2192,17 +2192,17 @@ function posts_nav_link( $sep = '', $prelabel = '', $nxtlabel = '' ) { * @param array $args { * Optional. Default post navigation arguments. * - * @type string $prev_text Anchor text to display in the previous post link. - * Default: ` %title`. - * @type string $next_text Anchor text to display in the next post link. - * Default: `%title `. + * @type string $prev_text Anchor text to display in the previous post link. Default: `%title`. + * @type string $next_text Anchor text to display in the next post link. Default: `%title`. + * @type string $screen_reader_text Screen reader text for nav element. Default: 'Post navigation'. * } * @return string Markup for post links. */ function get_the_post_navigation( $args = array() ) { $args = wp_parse_args( $args, array( - 'prev_text' => _x( ' %title', 'Previous post link' ), - 'next_text' => _x( '%title ', 'Next post link' ), + 'prev_text' => '%title', + 'next_text' => '%title', + 'screen_reader_text' => __( 'Post navigation' ), ) ); $navigation = ''; @@ -2210,8 +2210,8 @@ function get_the_post_navigation( $args = array() ) { $next = get_next_post_link( '', $args['next_text'] ); // Only add markup if there's somewhere to navigate to. - if ( $next || $previous ) { - $navigation = _navigation_markup( $next . $previous, 'post-navigation', __( 'Post navigation' ) ); + if ( $previous || $next ) { + $navigation = _navigation_markup( $previous . $next, 'post-navigation', $args['screen_reader_text'] ); } return $navigation; @@ -2238,10 +2238,9 @@ function the_post_navigation( $args = array() ) { * @param array $args { * Optional. Default paging navigation arguments. * - * @type string $prev_text Anchor text to display in the previous posts link. - * Default: ` Older posts`. - * @type string $next_text Anchor text to display in the next posts link. - * Default: `Newer posts `. + * @type string $prev_text Anchor text to display in the previous posts link. Default: `Older posts`. + * @type string $next_text Anchor text to display in the next posts link. Default: `Newer posts`. + * @type string $screen_reader_text Screen reader text for nav element. Default: 'Posts navigation'. * } * @return string Markup for paging links. */ @@ -2251,22 +2250,23 @@ function get_the_posts_navigation( $args = array() ) { // Don't print empty markup if there's only one page. if ( $GLOBALS['wp_query']->max_num_pages > 1 ) { $args = wp_parse_args( $args, array( - 'prev_text' => __( ' Older posts' ), - 'next_text' => __( 'Newer posts ' ), + 'prev_text' => __( 'Older posts' ), + 'next_text' => __( 'Newer posts' ), + 'screen_reader_text' => __( 'Posts navigation' ), ) ); - $next_link = get_next_posts_link( $args['prev_text'] ); - $prev_link = get_previous_posts_link( $args['next_text'] ); - - if ( $next_link ) { - $navigation .= ''; - } + $next_link = get_previous_posts_link( $args['next_text'] ); + $prev_link = get_next_posts_link( $args['prev_text'] ); if ( $prev_link ) { - $navigation .= ''; + $navigation .= ''; } - $navigation = _navigation_markup( $navigation ); + if ( $next_link ) { + $navigation .= ''; + } + + $navigation = _navigation_markup( $navigation, 'paging-navigation', $args['screen_reader_text'] ); } return $navigation; @@ -2290,30 +2290,9 @@ function the_posts_navigation( $args = array() ) { * @since 4.1.0 * * @param array $args { - * Optional. Default pagination arguments. + * Optional. Default pagination arguments. {@see paginate_links()} * - * @type string $base URL to be used to create the paginated links. - * Example: `http://example.com/all_posts.php%_%` - * The `%_%` is required and will be replaced by the contents of the - * 'format' argument. - * Default: Current page number link with appended `%_%`. - * @type string $format Used to replace the page number. Example: `?page=%#%` - * The `%#%` is required and will be replaced with the page number. - * Default: Current permalink format with appended `%#%`. - * @type int $total The total amount of pages. Default: Value of 'max_num_pages' of current query. - * @type int $current The current page number. Default: Value of 'paged' query var. - * @type bool $prev_next Whether to include previous and next links. Default: true. - * @type string $prev_text Anchor text to display in the previous posts link. Default: `← Previous`. - * @type string $next_text Anchor text to display in the next posts link. Default: `Next →`. - * @type bool $show_all Whether to show all pages. - * Default: false, shows short list of the pages near the current page. - * @type int $end_size Amount of numbers on either the start and the end list edges. Default: 1. - * @type int $mid_size Amount of numbers to either side of current page but not including current page. - * Default: 1. - * @type array $add_args Query vars to be added to the links. Accepts an associative array of arguments. - * Default: Empty array. - * @type string $before_page_number Text to prepend to the anchor text. Default: Empty string. - * @type string $after_page_number Text to append to the anchor text. Default: Empty string. + * @type string $screen_reader_text Screen reader text for navigation element. Default: 'Posts navigation'. * } * @return string Markup for pagination links. */ @@ -2323,9 +2302,10 @@ function get_the_pagination( $args = array() ) { // Don't print empty markup if there's only one page. if ( $GLOBALS['wp_query']->max_num_pages > 1 ) { $args = wp_parse_args( $args, array( - 'mid_size' => 1, - 'prev_text' => __( '← Previous' ), - 'next_text' => __( 'Next →' ), + 'mid_size' => 1, + 'prev_text' => __( 'Previous' ), + 'next_text' => __( 'Next' ), + 'screen_reader_text' => __( 'Posts navigation' ), ) ); // Make sure we get plain links, so we can work with it. $args['type'] = 'plain'; @@ -2333,9 +2313,8 @@ function get_the_pagination( $args = array() ) { // Set up paginated links. $links = paginate_links( $args ); - // `navigation_markup()` expects a string, `paginate_links()` can return an array. - if ( $links && ! is_array( $links ) ) { - $navigation = _navigation_markup( $links, 'pagination' ); + if ( $links ) { + $navigation = _navigation_markup( $links, 'pagination', $args['screen_reader_text'] ); } } @@ -2372,7 +2351,7 @@ function _navigation_markup( $links, $class = 'paging-navigation', $screen_reade $template = ' '; diff --git a/wp-includes/version.php b/wp-includes/version.php index c0d68523dc..0ed07839f0 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -4,7 +4,7 @@ * * @global string $wp_version */ -$wp_version = '4.1-beta1-30449'; +$wp_version = '4.1-beta1-30457'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.