函数文档

_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.

Return

mixed The value computed for the source.

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.