WordPress Version: 9.1
/**
* Server-side rendering of the `core/site-title` block.
*
* @package WordPress
*/
/**
* Renders the `core/site-title` block on the server.
*
* @param array $attributes The block attributes.
*
* @return string The render.
*/
function render_block_core_site_title($attributes)
{
$site_title = get_bloginfo('name');
if (!$site_title) {
return;
}
$tag_name = 'h1';
$align_class_name = empty($attributes['textAlign']) ? '' : "has-text-align-{$attributes['textAlign']}";
$aria_current = (is_home() || is_front_page() && 'page' === get_option('show_on_front')) ? ' aria-current="page"' : '';
if (isset($attributes['level'])) {
$tag_name = (0 === $attributes['level']) ? 'p' : ('h' . $attributes['level']);
}
if ($attributes['isLink']) {
$link_attrs = array('href="' . get_bloginfo('url') . '"', 'rel="home"', $aria_current);
if ('_blank' === $attributes['linkTarget']) {
$link_attrs[] = 'target="_blank"';
}
$site_title = sprintf('<a %1$s>%2$s</a>', implode(' ', $link_attrs), $site_title);
}
$wrapper_attributes = get_block_wrapper_attributes(array('class' => $align_class_name));
return sprintf('<%1$s %2$s>%3$s</%1$s>', $tag_name, $wrapper_attributes, $site_title);
}