--- a/wp-includes/general-template.php 2024-07-27 14:17:35.834720294 +0000 +++ b/wp-includes/general-template.php 2024-07-27 14:18:08.070238441 +0000 @@ -2078,19 +2078,29 @@ } if ( $results ) { $after = $parsed_args['after']; + $pyear = "XXXX"; foreach ( (array) $results as $result ) { - $url = get_month_link( $result->year, $result->month ); - if ( 'post' !== $parsed_args['post_type'] ) { - $url = add_query_arg( 'post_type', $parsed_args['post_type'], $url ); + $y = sprintf("%04d", $result->year); + $m = sprintf("%02d", $result->month); + if ($y != $pyear) { + if ($pyear != "XXXX") { + $output .= ""; + } + $pyear = $y; + $pmonth = "XX"; + $output .= '
  • ' . $y . ': '; } - /* translators: 1: Month name, 2: 4-digit year. */ - $text = sprintf( __( '%1$s %2$d' ), $wp_locale->get_month( $result->month ), $result->year ); + if ($pmonth != "XX") { + $output .= " | "; + } + $pmonth = $m; + $output .= '' . $m . ''; + if ( $parsed_args['show_post_count'] ) { - $parsed_args['after'] = ' (' . $result->posts . ')' . $after; + $output .= ' (' . $result->posts . ')'; } - $selected = is_archive() && (string) $parsed_args['year'] === $result->year && (string) $parsed_args['monthnum'] === $result->month; - $output .= get_archives_link( $url, $text, $parsed_args['format'], $parsed_args['before'], $parsed_args['after'], $selected ); } + $output .= "
  • "; } } elseif ( 'yearly' === $parsed_args['type'] ) { $query = "SELECT YEAR(post_date) AS `year`, count(ID) as posts FROM $wpdb->posts $join $where GROUP BY YEAR(post_date) ORDER BY post_date $order $limit";