wc_add_aria_label_to_pagination_numbers()WC 1.0

Add aria-label to pagination numbers.

No Hooks.

Return

String.

Usage

wc_add_aria_label_to_pagination_numbers( $html, $args );
$html(string) (required)
HTML output.
$args(array) (required)
An array of arguments. See paginate_links() for information on accepted arguments.

wc_add_aria_label_to_pagination_numbers() code WC 9.5.1

function wc_add_aria_label_to_pagination_numbers( $html, $args ) {
	$p         = new WP_HTML_Tag_Processor( $html );
	$n         = 1;
	$page_text = __( 'Page', 'woocommerce' );

	while ( $p->next_tag( array( 'class_name' => 'page-numbers' ) ) ) {
		if (
			$p->has_class( 'prev' ) ||
			$p->has_class( 'next' ) ||
			( 'SPAN' !== $p->get_tag() && 'A' !== $p->get_tag() ) ) {
			continue;
		}

		if ( $p->has_class( 'current' ) ) {
			$n = $args['current'];
		}

		if ( $p->has_class( 'dots' ) ) {
			if ( $args['current'] - $args['mid_size'] > $n ) {
				$n = $args['current'] - $args['mid_size'] - 1;
			} else {
				$n = $args['total'] - $args['end_size'];
			}
			++$n;
			continue;
		}

		$p->set_attribute( 'aria-label', $page_text . ' ' . number_format_i18n( $n ) );
		++$n;
	}

	$html = $p->get_updated_html();
	return $html;
}