1<?php
2/**
3 * Server-side rendering of the `core/site-tagline` block.
4 *
5 * @package WordPress
6 */
7
8/**
9 * Renders the `core/site-tagline` block on the server.
10 *
11 * @since 5.8.0
12 *
13 * @param array $attributes The block attributes.
14 *
15 * @return string The render.
16 */
17function render_block_core_site_tagline( $attributes ) {
18 $site_tagline = get_bloginfo( 'description' );
19 if ( ! $site_tagline ) {
20 return;
21 }
22
23 $tag_name = 'p';
24 $align_class_name = empty( $attributes['textAlign'] ) ? '' : "has-text-align-{$attributes['textAlign']}";
25 $wrapper_attributes = get_block_wrapper_attributes( array( 'class' => $align_class_name ) );
26
27 if ( isset( $attributes['level'] ) && 0 !== $attributes['level'] ) {
28 $tag_name = 'h' . (int) $attributes['level'];
29 }
30
31 return sprintf(
32 '<%1$s %2$s>%3$s</%1$s>',
33 $tag_name,
34 $wrapper_attributes,
35 $site_tagline
36 );
37}
38
39/**
40 * Registers the `core/site-tagline` block on the server.
41 *
42 * @since 5.8.0
43 */
44function register_block_core_site_tagline() {
45 register_block_type_from_metadata(
46 __DIR__ . '/site-tagline',
47 array(
48 'render_callback' => 'render_block_core_site_tagline',
49 )
50 );
51}
52
53add_action( 'init', 'register_block_core_site_tagline' );
54