$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";
$key =
md5( $query );
$key = "wp_get_archives:
$key:
$last_changed";
$results =
wp_cache_get( $key, 'post-queries'
);
if ( !
$results ) { $results =
$wpdb->
get_results( $query );
wp_cache_set( $key,
$results, 'post-queries'
);
} if ( $results ) { $after =
$parsed_args['after'
];
foreach ( (array) $results as $result ) { $url =
get_year_link( $result->year
);
if ( 'post' !==
$parsed_args['post_type'
] ) { $url =
add_query_arg( 'post_type',
$parsed_args['post_type'
],
$url );
} $text =
sprintf( '%d',
$result->year
);
if ( $parsed_args['show_post_count'
] ) { $parsed_args['after'
] = ' (' .
$result->posts . ')' .
$after;
} $selected =
is_archive() &&
(string) $parsed_args['year'
] ===
$result->year;
$output .=
get_archives_link( $url,
$text,
$parsed_args['format'
],
$parsed_args['before'
],
$parsed_args['after'
],
$selected );
} } }