wp_get_first_block()
云策文档标注
概述
wp_get_first_block() 函数用于在块数组中查找指定名称的第一个块,支持递归搜索内部块。
关键要点
- 参数:$blocks(必需,块数组)和 $block_name(必需,要查找的块名称)。
- 返回值:找到的块数组,若未找到则返回空数组。
- 函数递归遍历块数组,包括内部块(innerBlocks),以匹配块名称。
代码示例
function wp_get_first_block( $blocks, $block_name ) {
foreach ( $blocks as $block ) {
if ( $block_name === $block['blockName'] ) {
return $block;
}
if ( ! empty( $block['innerBlocks'] ) ) {
$found_block = wp_get_first_block( $block['innerBlocks'], $block_name );
if ( ! empty( $found_block ) ) {
return $found_block;
}
}
}
return array();
}注意事项
- 该函数从 WordPress 6.3.0 版本引入,位于 wp-includes/block-editor.php 文件中。
- 相关用途包括 wp_get_post_content_block_attributes() 函数,用于从当前文章模板检索 Post Content 块属性。
原文内容
Finds the first occurrence of a specific block in an array of blocks.
Parameters
$blocksarrayrequired-
Array of blocks.
$block_namestringrequired-
Name of the block to find.
Source
function wp_get_first_block( $blocks, $block_name ) {
foreach ( $blocks as $block ) {
if ( $block_name === $block['blockName'] ) {
return $block;
}
if ( ! empty( $block['innerBlocks'] ) ) {
$found_block = wp_get_first_block( $block['innerBlocks'], $block_name );
if ( ! empty( $found_block ) ) {
return $found_block;
}
}
}
return array();
}
Changelog
| Version | Description |
|---|---|
| 6.3.0 | Introduced. |