serialize_block()


WordPressのserialize_block()関数は、ブロックオブジェクトをシリアライズされたHTML文字列に変換します。Gutenbergエディタで使用されるブロックデータの処理に役立ちます。

構文

serialize_block( array $block );
  • $block (array) — シリアライズするブロックオブジェクト

例1: 基本的なブロックのシリアライズ

段落ブロックをシリアライズします。

$block = array('blockName'=>'core/paragraph','attrs'=>array(),'innerHTML'=>'<p>テスト</p>'); echo serialize_block($block);

例2: 属性付きブロックのシリアライズ

カスタム属性を持つ見出しブロックを処理します。

$block = array('blockName'=>'core/heading','attrs'=>array('level'=>3),'innerHTML'=>'<h3>見出し</h3>'); echo serialize_block($block);

例3: 内部ブロックを含むケース

グループブロック内に段落を含めます。

$block = array('blockName'=>'core/group','innerBlocks'=>array(array('blockName'=>'core/paragraph','innerHTML'=>'<p>内部コンテンツ</p>'))); echo serialize_block($block);

例4: 動的に生成したブロック

プログラムで作成したブロックをシリアライズします。

$block = array('blockName'=>'core/image','attrs'=>array('url'=>'https://example.com/image.jpg')); echo serialize_block($block);

例5: カスタムブロックの処理

プラグインで登録したカスタムブロックを変換します。

$block = array('blockName'=>'my-plugin/custom-block','attrs'=>array('color'=>'red')); echo serialize_block($block);

例6: コアブロックの再利用

既存の投稿から取得したブロックをシリアライズします。

$post = get_post(); $blocks = parse_blocks($post->post_content); echo serialize_block($blocks[0]);

例7: 最小限のブロックデータ

必須フィールドのみを使用したシリアライズ例です。

$block = array('blockName'=>'core/paragraph','innerHTML'=>'内容'); echo serialize_block($block);

注意点:

  • 不正なブロックデータを渡すとエラーが発生する可能性があります
  • シリアライズ前にはブロックデータの検証を推奨します
  • パフォーマンスに影響する可能性があるため、ループ内での多用は避けてください

関連機能: