diff --git a/src/wp-includes/general-template.php b/src/wp-includes/general-template.php
index 6a0170d81d..bb16f3e244 100644
--- a/src/wp-includes/general-template.php
+++ b/src/wp-includes/general-template.php
@@ -3261,6 +3261,7 @@ function language_attributes( $doctype = 'html' ) {
* anchor tag.
*
* @since 2.1.0
+ * @since 4.9.0 Added the `aria_current` argument.
*
* @global WP_Query $wp_query
* @global WP_Rewrite $wp_rewrite
@@ -3273,6 +3274,8 @@ function language_attributes( $doctype = 'html' ) {
* @type int $total The total amount of pages. Default is the value WP_Query's
* `max_num_pages` or 1.
* @type int $current The current page number. Default is 'paged' query var or 1.
+ * @type string $aria_current The value for the aria-current attribute. Possible values are 'page',
+ * 'step', 'location', 'date', 'time', 'true', 'false'. Default is 'page'.
* @type bool $show_all Whether to show all pages. Default false.
* @type int $end_size How many numbers on either the start and the end list edges.
* Default 1.
@@ -3308,21 +3311,22 @@ function paginate_links( $args = '' ) {
$format .= $wp_rewrite->using_permalinks() ? user_trailingslashit( $wp_rewrite->pagination_base . '/%#%', 'paged' ) : '?paged=%#%';
$defaults = array(
- 'base' => $pagenum_link, // http://example.com/all_posts.php%_% : %_% is replaced by format (below)
- 'format' => $format, // ?page=%#% : %#% is replaced by the page number
- 'total' => $total,
- 'current' => $current,
- 'show_all' => false,
- 'prev_next' => true,
- 'prev_text' => __('« Previous'),
- 'next_text' => __('Next »'),
- 'end_size' => 1,
- 'mid_size' => 2,
- 'type' => 'plain',
- 'add_args' => array(), // array of query args to add
- 'add_fragment' => '',
+ 'base' => $pagenum_link, // http://example.com/all_posts.php%_% : %_% is replaced by format (below)
+ 'format' => $format, // ?page=%#% : %#% is replaced by the page number
+ 'total' => $total,
+ 'current' => $current,
+ 'aria_current' => 'page',
+ 'show_all' => false,
+ 'prev_next' => true,
+ 'prev_text' => __( '« Previous' ),
+ 'next_text' => __( 'Next »' ),
+ 'end_size' => 1,
+ 'mid_size' => 2,
+ 'type' => 'plain',
+ 'add_args' => array(), // array of query args to add
+ 'add_fragment' => '',
'before_page_number' => '',
- 'after_page_number' => ''
+ 'after_page_number' => '',
);
$args = wp_parse_args( $args, $defaults );
@@ -3386,7 +3390,7 @@ function paginate_links( $args = '' ) {
endif;
for ( $n = 1; $n <= $total; $n++ ) :
if ( $n == $current ) :
- $page_links[] = "" . $args['before_page_number'] . number_format_i18n( $n ) . $args['after_page_number'] . "";
+ $page_links[] = "" . $args['before_page_number'] . number_format_i18n( $n ) . $args['after_page_number'] . "";
$dots = true;
else :
if ( $args['show_all'] || ( $n <= $end_size || ( $current && $n >= $current - $mid_size && $n <= $current + $mid_size ) || $n > $total - $end_size ) ) :
diff --git a/tests/phpunit/tests/general/paginateLinks.php b/tests/phpunit/tests/general/paginateLinks.php
index b2ad0a0426..2fe963961a 100644
--- a/tests/phpunit/tests/general/paginateLinks.php
+++ b/tests/phpunit/tests/general/paginateLinks.php
@@ -16,7 +16,7 @@ class Tests_Paginate_Links extends WP_UnitTestCase {
$page50 = get_pagenum_link( 50 );
$expected =<<1
+1
2
3
…
@@ -34,7 +34,7 @@ EXPECTED;
$page50 = home_url( '/page/50/' );
$expected =<<1
+1
2
3
…
@@ -54,7 +54,7 @@ EXPECTED;
$expected =<<1
-2
+2
3
4
…
@@ -74,7 +74,7 @@ EXPECTED;
$expected =<<« Previous
1
-2
+2
3
4
…
@@ -299,7 +299,7 @@ EXPECTED;
'type' => 'array',
) );
- $this->assertContains( "3", $links );
+ $this->assertContains( "3", $links );
}
/**