PluginProbe
Gutenberg / 15.8.1
Gutenberg v15.8.1
24.0.0 23.9.1 23.9.0 23.8.0 23.7.2 23.7.1 23.7.0 23.6.1 23.6.2 23.6.0 23.5.3 23.5.2 23.5.1 23.5.0 23.4.0 23.3.2 23.3.1 23.3.0 23.2.0 23.2.1 23.2.2 23.1.1 23.1.0 23.0.1 12.6.0 All 403 releases
gutenberg / lib / experimental / interactivity-api / script-loader.php

script-loader.php in Gutenberg 15.8.1, at lib/experimental/interactivity-api/script-loader.php

50 lines 1.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Updates the script-loader.php file
4 *
5 * @package gutenberg
6 */
7
8 /**
9 * Registers interactivity runtime and vendor scripts to use with interactive blocks.
10 *
11 * @param WP_Scripts $scripts WP_Scripts instance.
12 */
13 function gutenberg_register_interactivity_scripts( $scripts ) {
14 gutenberg_override_script(
15 $scripts,
16 'wp-interactivity-runtime',
17 gutenberg_url(
18 'build/block-library/interactive-blocks/interactivity.min.js'
19 ),
20 array( 'wp-interactivity-vendors' )
21 );
22
23 gutenberg_override_script(
24 $scripts,
25 'wp-interactivity-vendors',
26 gutenberg_url(
27 'build/block-library/interactive-blocks/vendors.min.js'
28 )
29 );
30 }
31 add_action( 'wp_default_scripts', 'gutenberg_register_interactivity_scripts', 10, 1 );
32
33 /**
34 * Adds the "defer" attribute to all the interactivity script tags.
35 *
36 * @param string $tag The generated script tag.
37 *
38 * @return string The modified script tag.
39 */
40 function gutenberg_interactivity_scripts_add_defer_attribute( $tag ) {
41 if ( str_contains( $tag, '/block-library/interactive-blocks/' ) ) {
42 $p = new WP_HTML_Tag_Processor( $tag );
43 $p->next_tag( array( 'tag' => 'script' ) );
44 $p->set_attribute( 'defer', true );
45 return $p->get_updated_html();
46 }
47 return $tag;
48 }
49 add_filter( 'script_loader_tag', 'gutenberg_interactivity_scripts_add_defer_attribute', 10, 1 );
50