# gutenberg/16.2.1/lib/experimental/interactivity-api/blocks.php

Gutenberg, version 16.2.1. 28 lines.

- Page: https://pluginprobe.com/plugins/gutenberg/16.2.1/code/lib/experimental/interactivity-api/blocks.php
- Raw: https://pluginprobe.com/plugins/gutenberg/16.2.1/raw/lib/experimental/interactivity-api/blocks.php
- Modified: 2023-07-12T17:34:24+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/gutenberg/16.2.1/code/lib/experimental/interactivity-api/blocks.php#L10-L20`.

```php
<?php
/**
 * Extend WordPress core blocks to use the Interactivity API.
 *
 * @package Gutenberg
 * @subpackage Interactivity API
 */

/**
 * Replaces view script for the Image block with version using Interactivity API.
 *
 * @param array $metadata Block metadata as read in via block.json.
 *
 * @return array Filtered block type metadata.
 */
function gutenberg_block_update_interactive_view_script( $metadata ) {
	if (
		array_key_exists( 'name', $metadata ) &&
		in_array( $metadata['name'], array( 'core/image' ), true ) &&
		array_key_exists( 'file', $metadata ) &&
		str_contains( $metadata['file'], 'build/block-library/blocks' )
	) {
		$metadata['viewScript'] = array( 'file:./view-interactivity.min.js' );
	}
	return $metadata;
}
add_filter( 'block_type_metadata', 'gutenberg_block_update_interactive_view_script', 10, 1 );

```
