serialize_blocks()


WordPress関数serialize_blocks()は、ブロックの配列をシリアル化された文字列に変換します。Gutenbergエディタで使用されるブロックデータの処理に役立ちます。

構文

serialize_blocks( array $blocks );
  • $blocks(array)—シリアル化するブロックの配列

例1: 基本的なブロックのシリアル化

単一の段落ブロックをシリアル化します。

$serialized = serialize_blocks( [ [ 'blockName' => 'core/paragraph', 'attrs' => [], 'innerHTML' => '<p>テスト</p>' ] ] );

例2: 複数ブロックのシリアル化

複数のブロックを含む配列をシリアル化します。

$blocks = [ [ 'blockName' => 'core/heading', 'attrs' => [ 'level' => 2 ], 'innerHTML' => '<h2>見出し</h2>' ], [ 'blockName' => 'core/paragraph', 'attrs' => [], 'innerHTML' => '<p>本文</p>' ] ]; $serialized = serialize_blocks( $blocks );

例3: 現在の投稿のブロックをシリアル化

現在表示中の投稿のブロックを取得してシリアル化します。

global $post; $blocks = parse_blocks( $post->post_content ); $serialized = serialize_blocks( $blocks );

例4: カスタムブロックのシリアル化

カスタムブロックを作成してシリアル化します。

$custom_block = [ 'blockName' => 'my-plugin/custom-block', 'attrs' => [ 'color' => 'red' ], 'innerHTML' => '<div class="custom-block">カスタムコンテンツ</div>' ]; $serialized = serialize_blocks( [ $custom_block ] );

例5: シリアル化したデータの保存

シリアル化したブロックデータを投稿メタに保存します。

$post_id = get_the_ID(); $blocks = parse_blocks( get_post( $post_id )->post_content ); update_post_meta( $post_id, 'serialized_blocks', serialize_blocks( $blocks ) );

例6: シリアル化データの復元

シリアル化されたデータからブロック配列を復元します。

$serialized = get_post_meta( get_the_ID(), 'serialized_blocks', true ); $blocks = parse_blocks( $serialized );

例7: 空のブロックの処理

空のブロック配列をシリアル化します。

$empty_blocks = []; $serialized = serialize_blocks( $empty_blocks );

注意点

  • 不正なブロックデータを渡すとエラーが発生する可能性があります
  • シリアル化前のデータ構造が正しいことを確認してください
  • 大規模なブロック配列の場合、パフォーマンスに影響する可能性があります

関連機能: