_flatten_blocks

函数
_flatten_blocks ( $blocks )
Access
Private
参数
  • (array) $blocks array of blocks.
    Required:
返回值
  • (array) block references to the passed blocks and their inner blocks.
定义位置
相关方法
filter_block_ksesparse_blockshas_blocks_fix_attachment_linkswp_filter_out_block_nodes
引入
5.9.0
弃用
-

_flatten_blocks: 这是一个用于WordPress块编辑器的函数,用于扁平化嵌套的块。它接收一个块对象作为参数,并返回一个扁平化的块对象的数组,所有嵌套的块都在根层。

回一个数组,其中包含所传递的块和它们的内部区块的引用。

function _flatten_blocks( &$blocks ) {
	$all_blocks = array();
	$queue      = array();
	foreach ( $blocks as &$block ) {
		$queue[] = &$block;
	}

	while ( count( $queue ) > 0 ) {
		$block = &$queue[0];
		array_shift( $queue );
		$all_blocks[] = &$block;

		if ( ! empty( $block['innerBlocks'] ) ) {
			foreach ( $block['innerBlocks'] as &$inner_block ) {
				$queue[] = &$inner_block;
			}
		}
	}

	return $all_blocks;
}

常见问题

FAQs
查看更多 >