_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
檢視更多 >