Automattic\WooCommerce\Blocks\BlockTypes
MiniCart::append_script_and_deps_src()
Recursively appends a scripts and its dependencies into the scripts_to_lazy_load array.
Method of the class: MiniCart{}
No Hooks.
Return
null
. Nothing (null).
Usage
// protected - for code of main (parent) or child class $result = $this->append_script_and_deps_src( $script );
- $script(\_WP_Dependency) (required)
- Object containing script data.
MiniCart::append_script_and_deps_src() MiniCart::append script and deps src code WC 9.4.2
protected function append_script_and_deps_src( $script ) { $wp_scripts = wp_scripts(); // This script and its dependencies have already been appended. if ( ! $script || array_key_exists( $script->handle, $this->scripts_to_lazy_load ) || wp_script_is( $script->handle, 'enqueued' ) ) { return; } if ( is_countable( $script->deps ) && count( $script->deps ) ) { foreach ( $script->deps as $dep ) { if ( ! array_key_exists( $dep, $this->scripts_to_lazy_load ) ) { $dep_script = $this->get_script_from_handle( $dep ); if ( ! is_null( $dep_script ) ) { $this->append_script_and_deps_src( $dep_script ); } } } } if ( ! $script->src ) { return; } $site_url = site_url() ?? wp_guess_url(); if ( Utils::wp_version_compare( '6.3', '>=' ) ) { $script_before = $wp_scripts->get_inline_script_data( $script->handle, 'before' ); $script_after = $wp_scripts->get_inline_script_data( $script->handle, 'after' ); } else { $script_before = $wp_scripts->print_inline_script( $script->handle, 'before', false ); $script_after = $wp_scripts->print_inline_script( $script->handle, 'after', false ); } $this->scripts_to_lazy_load[ $script->handle ] = array( 'src' => preg_match( '|^(https?:)?//|', $script->src ) ? $script->src : $site_url . $script->src, 'version' => $script->ver, 'before' => $script_before, 'after' => $script_after, 'translations' => $wp_scripts->print_translations( $script->handle, false ), ); }