説明
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() |

コメント