WP_Block クラスの使い方|説明・引数・注意点

説明

WP_Block は、ブロックエディターのブロック1つを表すクラスです。サーバー側のレンダリング処理で使われます。

基本構文

WP_Block

引数

  • name:ブロック名
  • attributes:属性
  • inner_blocks:内側のブロック
  • render():HTMLを出力

戻り値

WP_Block オブジェクト。

使い方(サンプル)

register_block_type( 'my/block', array(
	'render_callback' => function( $attrs, $content, $block ) {
		return '<p>' . esc_html( $block->name ) . '</p>';
	},
) );

注意点

  • render_callback の第3引数として受け取ります。

実務での使いどころ

  • ブロックの、render_callback で、渡される $block から、ブロックの情報や、内側のブロックを、扱うとき。
  • ブロックの、描画の処理(render())を、呼び出すとき。

よくあるミスと対処

  • 直接、new WP_Block() で作ることは、通常、必要ない。ブロックの描画には、render_block() を使う。
  • render_callback の引数の順番を、間違えている($attributes・$content・$block)。
  • 内側のブロックの内容を、$content で受け取らず、失う。

NG例

'render_callback' => function ( $block ) { // 第1引数は $attributes
	return $block->render();
},

OK例

'render_callback' => function ( $attributes, $content, $block ) {
	return '<div class="my-block">' . $content . '</div>';
},

使い分け早見表

やりたいこと 使うもの
ブロックの情報を扱う WP_Block
ブロックを、HTMLにする render_block()
ブロックを登録する register_block_type()

関連項目

register_block_type()、render_block()

公式リファレンス:WP_Block | WordPress Developer Resources

コメント

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