render_block_core_site_title() – Renders the `core/site-title` block on the server.

You appear to be a bot. Output may be restricted

Description

Renders the core/site-title block on the server.

Usage

$string = render_block_core_site_title( $attributes );

Parameters

$attributes
( array ) required – The block attributes.

Returns

string The render.

Source

File name: wordpress/wp-includes/blocks/site-title.php


Lines:

1 to 39 of 39
function render_block_core_site_title( $attributes ) {
  $site_title = get_bloginfo( 'name' );
  if ( ! $site_title ) {
    return;
  }

  $tag_name = 'h1';
  $classes  = empty( $attributes['textAlign'] ) ? '' : "has-text-align-{$attributes['textAlign']}";
  if ( isset( $attributes['style']['elements']['link']['color']['text'] ) ) {
    $classes .= ' has-link-color';
  }

  if ( isset( $attributes['level'] ) ) {
    $tag_name = 0 === $attributes['level'] ? 'p' : 'h' . (int) $attributes['level'];
  }

  if ( $attributes['isLink'] ) {
    $aria_current = is_home() || ( is_front_page() && 'page' === get_option( 'show_on_front' ) ) ? ' aria-current="page"' : '';
    $link_target  = ! empty( $attributes['linkTarget'] ) ? $attributes['linkTarget'] : '_self';

    $site_title = sprintf(
      '<a href="%1$s" target="%2$s" rel="home"%3$s>%4$s</a>',
      esc_url( home_url() ),
      esc_attr( $link_target ),
      $aria_current,
      esc_html( $site_title )
    );
  }
  $wrapper_attributes = get_block_wrapper_attributes( array( 'class' => trim( $classes ) ) );

  return sprintf(
    '<%1$s %2$s>%3$s</%1$s>',
    $tag_name,
    $wrapper_attributes,
    // already pre-escaped if it is a link.
    $attributes['isLink'] ? $site_title : esc_html( $site_title )
  );
}
 

 View on GitHub View on Trac