diff --git a/lib/experimental/block-bindings/sources/pattern.php b/lib/experimental/block-bindings/sources/pattern.php index e521cab2d18283..d015dad405dc23 100644 --- a/lib/experimental/block-bindings/sources/pattern.php +++ b/lib/experimental/block-bindings/sources/pattern.php @@ -6,12 +6,12 @@ */ if ( function_exists( 'register_block_bindings_source' ) ) { - $pattern_source_callback = function ( $source_attrs, $block_content, $block, $block_instance ) { + $pattern_source_callback = function ( $source_attrs, $block_content, $block, $block_instance, $attribute_name ) { if ( ! _wp_array_get( $block_instance->attributes, array( 'metadata', 'id' ), false ) ) { return null; } $block_id = $block_instance->attributes['metadata']['id']; - return _wp_array_get( $block_instance->context, array( 'pattern/overrides', $block_id ), null ); + return _wp_array_get( $block_instance->context, array( 'pattern/overrides', $block_id, $attribute_name ), null ); }; register_block_bindings_source( 'pattern_attributes', diff --git a/lib/experimental/blocks.php b/lib/experimental/blocks.php index 7f57b98754be77..1241853142f006 100644 --- a/lib/experimental/blocks.php +++ b/lib/experimental/blocks.php @@ -152,7 +152,7 @@ function process_block_bindings( $block_content, $block, $block_instance ) { } else { $source_args = $binding_source['source']['attributes']; } - $source_value = $source_callback( $source_args, $block_content, $block, $block_instance ); + $source_value = $source_callback( $source_args, $block_content, $block, $block_instance, $binding_attribute ); // If the value is null, process next attribute. if ( is_null( $source_value ) ) { continue;