WordPress/wp-content/themes/twentytwentyone/template-parts/header/site-branding.php
Sergey Biryukov 85d526c5d0 Twenty Twenty-One: Display page title as the H1 heading when a static page is selected as the "Posts page".
This ensures that the heading represents the content of the page. Previously, the site title was displayed instead.

Props sabernhardt, justinahinon, rianrietveld, mukesh27, francina, audrasjb, Boniu91.
Fixes #52938.
Built from https://develop.svn.wordpress.org/trunk@50802


git-svn-id: http://core.svn.wordpress.org/trunk@50411 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-05-01 18:14:05 +00:00

43 lines
1.5 KiB
PHP

<?php
/**
* Displays header site branding
*
* @package WordPress
* @subpackage Twenty_Twenty_One
* @since Twenty Twenty-One 1.0
*/
$blog_info = get_bloginfo( 'name' );
$description = get_bloginfo( 'description', 'display' );
$show_title = ( true === get_theme_mod( 'display_title_and_tagline', true ) );
$header_class = $show_title ? 'site-title' : 'screen-reader-text';
?>
<?php if ( has_custom_logo() && $show_title ) : ?>
<div class="site-logo"><?php the_custom_logo(); ?></div>
<?php endif; ?>
<div class="site-branding">
<?php if ( has_custom_logo() && ! $show_title ) : ?>
<div class="site-logo"><?php the_custom_logo(); ?></div>
<?php endif; ?>
<?php if ( $blog_info ) : ?>
<?php if ( is_front_page() && ! is_paged() ) : ?>
<h1 class="<?php echo esc_attr( $header_class ); ?>"><?php echo esc_html( $blog_info ); ?></h1>
<?php elseif ( is_front_page() && ! is_home() ) : ?>
<h1 class="<?php echo esc_attr( $header_class ); ?>"><a href="<?php echo esc_url( home_url( '/' ) ); ?>"><?php echo esc_html( $blog_info ); ?></a></h1>
<?php else : ?>
<p class="<?php echo esc_attr( $header_class ); ?>"><a href="<?php echo esc_url( home_url( '/' ) ); ?>"><?php echo esc_html( $blog_info ); ?></a></p>
<?php endif; ?>
<?php endif; ?>
<?php if ( $description && true === get_theme_mod( 'display_title_and_tagline', true ) ) : ?>
<p class="site-description">
<?php echo $description; // phpcs:ignore WordPress.Security.EscapeOutput ?>
</p>
<?php endif; ?>
</div><!-- .site-branding -->