Add an additional check for in_the_loop()
to only affect titles being output within the main query’s loop:
function add_dates_to_title_wpse106605($title, $id) {
if ( is_home() && in_the_loop() ){ // <-- added in_the_loop()
$time = get_the_time( $d = 'l, F j, Y', $post = $id );
return $title . '<br><small class="time">' . $time . '</small>';
}
return $title;
}
add_filter('the_title', 'add_dates_to_title_wpse106605', 10, 2);