_block_bindings_pattern_overrides_get_value()
云策文档标注
概述
_block_bindings_pattern_overrides_get_value() 函数用于获取 Pattern Overrides 源的值,通过解析块实例的上下文和元数据来检索覆盖值。
关键要点
- 函数接受三个参数:$source_args(源参数数组)、$block_instance(块实例对象)和 $attribute_name(目标属性名)。
- 返回值类型为 mixed,表示计算出的源值,如果块实例缺少元数据名称则返回 null。
- 内部使用 _wp_array_get() 函数从块上下文中深度访问数组路径,以获取覆盖值。
- 该函数在 WordPress 6.5.0 版本中引入。
代码示例
_block_bindings_pattern_overrides_get_value( array( "key" => "foo" ), $block_instance, "attribute_name" );注意事项
- 确保 $block_instance 包含有效的元数据名称,否则函数将返回 null。
- 参数 $source_args 必须为数组,用于指定源查找参数。
原文内容
Gets value for the Pattern Overrides source.
Parameters
$source_argsarrayrequired-
Array containing source arguments used to look up the override value.
Example: array( “key” => “foo” ). $block_instanceWP_Blockrequired-
The block instance.
$attribute_namestringrequired-
The name of the target attribute.
Source
function _block_bindings_pattern_overrides_get_value( array $source_args, $block_instance, string $attribute_name ) {
if ( empty( $block_instance->attributes['metadata']['name'] ) ) {
return null;
}
$metadata_name = $block_instance->attributes['metadata']['name'];
return _wp_array_get( $block_instance->context, array( 'pattern/overrides', $metadata_name, $attribute_name ), null );
}
Changelog
| Version | Description |
|---|---|
| 6.5.0 | Introduced. |