Remove Archive Labels

I always find myself constantly googling for this answer (why don’t I put it in my starter theme?). Therefore, here’s a function that gets rid of the “Archive:”, “Category:”, “Tag:”, etc. that comes as a prefix.

add_filter( 'get_the_archive_title', 'mytheme_archive_title' );
/**
 * Remove archive labels.
 * 
 * @param  string $title Current archive title to be displayed.
 * @return string        Modified archive title to be displayed.
 */
function mytheme_archive_title( $title ) {
	if ( is_category() ) {
		$title = single_cat_title( '', false );
	} elseif ( is_tag() ) {
		$title = single_tag_title( '', false );
	} elseif ( is_author() ) {
		$title = '<span class="vcard">' . get_the_author() . '</span>';
	} elseif ( is_post_type_archive() ) {
		$title = post_type_archive_title( '', false );
	} elseif ( is_tax() ) {
		$title = single_term_title( '', false );
	} elseif ( is_home() ) {
		$title = single_post_title( '', false );
	}

	return $title;
}

Leave a Reply

Your email address will not be published.