_flatten_blocks()


WordPressの_flatten_blocks()関数は、ブロックの階層構造を平坦化するために使用されます。この関数は、ブロックエディタで使用されるブロックの配列を単一の配列に変換します。

構文

_flatten_blocks( array $blocks );
  • $blocks(array) — 平坦化するブロックの配列。

例1: 基本的なブロックの平坦化

この例では、単純なブロック配列を平坦化します。

$blocks = array( array( 'blockName' => 'core/paragraph', 'innerBlocks' => array() ) ); $flattened_blocks = _flatten_blocks( $blocks );

例2: ネストされたブロックの平坦化

ネストされたブロックを含む配列を平坦化します。

$blocks = array( array( 'blockName' => 'core/group', 'innerBlocks' => array( array( 'blockName' => 'core/paragraph' ) ) ) ); $flattened_blocks = _flatten_blocks( $blocks );

例3: 複数のネストされたブロックの平坦化

複数のネストされたブロックを持つ配列を平坦化します。

$blocks = array( array( 'blockName' => 'core/columns', 'innerBlocks' => array( array( 'blockName' => 'core/column', 'innerBlocks' => array( array( 'blockName' => 'core/paragraph' ) ) ) ) ) ); $flattened_blocks = _flatten_blocks( $blocks );

例4: 空のブロック配列の平坦化

空のブロック配列を平坦化します。

$blocks = array(); $flattened_blocks = _flatten_blocks( $blocks );

例5: カスタムブロックの平坦化

カスタムブロックを含む配列を平坦化します。

$blocks = array( array( 'blockName' => 'my-plugin/custom-block', 'innerBlocks' => array() ) ); $flattened_blocks = _flatten_blocks( $blocks );

例6: 複数のブロックタイプの平坦化

異なるタイプのブロックを含む配列を平坦化します。

$blocks = array( array( 'blockName' => 'core/paragraph' ), array( 'blockName' => 'core/image' ) ); $flattened_blocks = _flatten_blocks( $blocks );

例7: 深くネストされたブロックの平坦化

非常に深くネストされたブロックを含む配列を平坦化します。

$blocks = array( array( 'blockName' => 'core/group', 'innerBlocks' => array( array( 'blockName' => 'core/columns', 'innerBlocks' => array( array( 'blockName' => 'core/column', 'innerBlocks' => array( array( 'blockName' => 'core/paragraph' ) ) ) ) ) ) ); $flattened_blocks = _flatten_blocks( $blocks );

注意点

  • この関数は、ブロックエディタの内部で使用されることを想定しています。
  • ブロックの構造が非常に複雑な場合、パフォーマンスに影響を与える可能性があります。