If the only issue you want to correct is the output of single_tag_title
, you can correct the value via a filter by grabbing the tag query var directly:
function wpa90852_fix_tag_title(){
$tag = get_term_by( 'slug', get_query_var('tag'), 'post_tag' );
return $tag->name;
}
add_filter( 'single_tag_title', 'wpa90852_fix_tag_title' );