render_block() の使い方|説明・引数・注意点

説明

render_block() は、ブロックの配列データから、出力されるHTMLを生成する関数です。

基本構文

render_block( array $parsed_block ): string

引数

  • $parsed_block:parse_blocks() で解析したブロックの配列

戻り値

HTMLの文字列。

使い方(サンプル)

$blocks = parse_blocks( $post->post_content );
foreach ( $blocks as $block ) {
	echo render_block( $block );
}

注意点

  • 投稿本文をブロック単位で加工するときに使います。

実務での使いどころ

  • parse_blocks() で分解した、ブロックを、HTMLに戻して、出力するとき。
  • 特定のブロックだけを、取り出して、出力するとき。

よくあるミスと対処

  • 文字列を渡している。渡すのは、parse_blocks() が返す、配列の1つ。
  • 戻り値を、echo し忘れる。この関数は、HTMLを返す。
  • 入れ子のブロック(innerBlocks)の扱いを、考えていない。

NG例

render_block( $content ); // 文字列ではなく、ブロックの配列を渡す

OK例

$blocks = parse_blocks( get_the_content() );
foreach ( $blocks as $block ) {
	if ( 'core/image' === $block['blockName'] ) {
		echo render_block( $block );
	}
}

使い分け早見表

関数 役割
render_block() ブロック(配列)を、HTMLにする
parse_blocks() 本文を、ブロックの配列に分解する
has_block() 本文に、ブロックが含まれるかを確認する

関連項目

parse_blocks()、has_block()

公式リファレンス:render_block() | Function | WordPress Developer Resources

コメント

タイトルとURLをコピーしました