_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塊編輯器的函式,用於扁平化巢狀的塊。它接收一個塊物件作為引數,並返回一個扁平化的塊物件的陣列,所有巢狀的塊都在根層。

回一個陣列,其中包含所傳遞的塊和它們的內部區塊的引用。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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;
}
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; }
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
檢視更多 >