WordPress: Site-Titel als <H1> ausgeben, falls kein <H1> vorhanden

Wenn man auf einer WordPress-Startseite z.B. aus Design-Gründen kein <H1>-Element unterbringt und aus SEO-Gründen trotzdem einen <H1> auf der Seite haben möchte, dann geht das mit diesem Code:


add_filter( 'generate_site_title_output', function() {
	return sprintf(
		'<%1$s class="main-title" itemprop="headline">
		 <a href="%2$s" rel="home">%3$s</a>
		</%1$s>',
		( is_front_page() ) ? 'h1' : 'p',
		esc_url( apply_filters( 'generate_site_title_href', home_url( '/' ) ) ),
		get_bloginfo( 'name' )
	);
});

Wenn kein <H1> vorhanden ist, wird der Seitentitel als <H1> ausgegeben. Und wenn ein <H1> vorhanden ist, wird der Seitentitel als <P> ausgegeben, um doppelte <H1> zu vermeiden.