HTML API トップページはサイトロゴブロックをh1タグで囲う

トップページのサイトロゴ画像のラッパーは<h1>に変更し、class=”wp-block-site-logo” を付け替える

変更前

<div class="wp-block-site-logo">
   <a></a>
</div>

変更後

<h1 class="wp-block-site-logo">
  <a></a>
</h1>

php編集


// トップページはサイトロゴブロックを<h1>で囲う
function my_add_h1_coresitelogo( $block_content, $block ) {
	// トップページを表示しているかで条件分岐
	if( ! is_front_page()){
		return $block_content;
	}
	
	// タグの置換はサイトロゴブロックを対象とする条件分岐
	if ( 'core/site-logo' === $block['blockName'] ) {
		$str = array( '<div class="wp-block-site-logo">', '</div>');
		$block_content = str_replace($str, "", $block_content);
		// 上記2行は下記4行と同じ意味
		//$str_start = '<div class="wp-block-site-logo">';
		//$str_end = '</div>';
		//$block_content = str_replace($str_start, "",  $block_content);
		//$block_content = str_replace($str_end, "", $block_content);
		$format = '<h1 class="wp-block-site-logo">%s</h1>';
		return sprintf( $format, $block_content );
	}
}

add_filter( 'render_block_core/site-logo', 'my_add_h1_coresitelogo', 10, 2 );