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
This commit is contained in:
John Blackbourn 2014-11-20 15:19:24 +00:00
parent 6e2f41a2a3
commit 473324326d
2 changed files with 32 additions and 53 deletions

View File

@ -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: `<span class="meta-nav">&larr;</span> %title`.
* @type string $next_text Anchor text to display in the next post link.
* Default: `%title <span class="meta-nav">&rarr;</span>`.
* @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( '<span class="meta-nav">&larr;</span> %title', 'Previous post link' ),
'next_text' => _x( '%title <span class="meta-nav">&rarr;</span>', '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( '<div class="nav-next">%link</div>', $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: `<span class="meta-nav">&larr;</span> Older posts`.
* @type string $next_text Anchor text to display in the next posts link.
* Default: `Newer posts <span class="meta-nav">&rarr;</span>`.
* @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' => __( '<span class="meta-nav">&larr;</span> Older posts' ),
'next_text' => __( 'Newer posts <span class="meta-nav">&rarr;</span>' ),
'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 .= '<div class="nav-previous">' . $next_link . '</div>';
}
$next_link = get_previous_posts_link( $args['next_text'] );
$prev_link = get_next_posts_link( $args['prev_text'] );
if ( $prev_link ) {
$navigation .= '<div class="nav-next">' . $prev_link . '</div>';
$navigation .= '<div class="nav-previous">' . $prev_link . '</div>';
}
$navigation = _navigation_markup( $navigation );
if ( $next_link ) {
$navigation .= '<div class="nav-next">' . $next_link . '</div>';
}
$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: `&larr; Previous`.
* @type string $next_text Anchor text to display in the next posts link. Default: `Next &rarr;`.
* @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' => __( '&larr; Previous' ),
'next_text' => __( 'Next &rarr;' ),
'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 = '
<nav class="navigation %1$s" role="navigation">
<h1 class="screen-reader-text">%2$s</h1>
<h2 class="screen-reader-text">%2$s</h2>
<div class="nav-links">%3$s</div>
</nav>';

View File

@ -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.